Bonjour je débute en php et j'ai un petit problème
j'ai deux requetes la première va me permettre de récupérer le nom de ma demande que d’appel ici $ldemande
la seconde requête utilisera le résultat de la premiere (nom de la demande) dans un WHERE.
Mon problème est le suivant quant je parcoure la boucle il me récupéré juste le première élément. En gros le traitement ne se
fait pas sur les autres donnée.
J'ai tenté plusieurs choses comme l'utilisation d'une boucle while avec compteur le nombre de ligne renvoyé par la 1er requête
mais le résultat reste le même.
Le problème doit venir de ma boucle

Je vous montre mon code

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
 
//Utilisation d'un premiere requete qui nous donnera la demande client
while (isset($ss_sys_id[$i]) )  {
 
    //Premiere requete qui va afficher le nom de la demande
    $sql0 = "SELECT demande_ou_projet.IdClientDemande
            AS Demande
            FROM ((sous_systeme
            INNER JOIN (forfait_budget
            INNER JOIN demande_ou_projet
            ON forfait_budget.ID_FORFAIT_BUDGET = demande_ou_projet.REF_FORFAIT_BUDGET)
            ON sous_systeme.IdSousSyst = forfait_budget.REF_SOUS_SYSTEME)
            INNER JOIN demande_se_trouve_dans_etat
            ON demande_ou_projet.IdDemande = demande_se_trouve_dans_etat.IdDemande)
            INNER JOIN ordre_de_travail
            ON (forfait_budget.ID_FORFAIT_BUDGET = ordre_de_travail.ID_FORFAIT_BUDGET)
            AND (demande_ou_projet.IdDemande = ordre_de_travail.IdDemande)
            WHERE (((forfait_budget.ID_FORFAIT_BUDGET )='$ss_sys_id[$i]')
            AND ((ordre_de_travail.charge_consommee_totale)<>0)
            AND ((demande_se_trouve_dans_etat.Date_entree)
            Between '".date_en($ledebut)."' And '".date_en($lafin)."'
            AND ((sous_systeme.IdAppli)='DEV')
            AND ((demande_se_trouve_dans_etat.Code_etat)='TER' $where_type)))
            ";
 
    $res0=$bdd->query($sql0);
    echo $nbr0=$bdd->num_rows($res0);
 
 
while ($row0=$bdd->fetch_array($res0)) {
    $ldemande=($row0['Demande']);
 
 
 
    //variable j
    $j=0;
    for ($j;$nbr0>$j;$j++){
    //requete
    $sql = "SELECT demande_ou_projet.IdClientDemande
            AS DemandeClient, forfait_budget.CODE_FORFAIT_BUDGET
            AS Projet, demande_ou_projet.Type_demande
            AS Cor_Evo,
            SUM(ordre_de_travail.charge_consommee_totale)
            AS Charge, DATE_FORMAT(demande_se_trouve_dans_etat.Date_entree, '%Y/%m/%d')
            AS Date_cloture,
            LEFT(demande_ou_projet.Libelle, 60)
            AS Libelle, ressource_tma.Equipe
            AS Site, demande_ou_projet.Reponse_technique
            AS Obervation, SUBSTRING_INDEX(SUBSTRING_INDEX(demande_ou_projet.Libelle,'|', -2),'|', 1)
            AS Pays, SUBSTRING_INDEX( SUBSTRING_INDEX( demande_ou_projet.Libelle , 'CALL', -1 ) , '|', 1 )
            AS NumCall, charge_vendue
            AS ChargeVendu
            FROM (sous_systeme
            INNER JOIN (forfait_budget
            INNER JOIN (demande_ou_projet
            INNER JOIN ordre_de_travail
            ON demande_ou_projet.IdDemande = ordre_de_travail.IdDemande)
            ON (ordre_de_travail.ID_FORFAIT_BUDGET = forfait_budget.ID_FORFAIT_BUDGET)
            AND (forfait_budget.ID_FORFAIT_BUDGET = demande_ou_projet.REF_FORFAIT_BUDGET))
            ON sous_systeme.IdSousSyst = forfait_budget.REF_SOUS_SYSTEME)
            INNER JOIN demande_se_trouve_dans_etat
            ON demande_ou_projet.IdDemande = demande_se_trouve_dans_etat.IdDemande
            INNER JOIN ressource_tma
            ON ordre_de_travail.Ressource = ressource_tma.IdRessource
            WHERE ((ordre_de_travail.charge_consommee_totale)<>0
            AND forfait_budget.ID_FORFAIT_BUDGET='$ss_sys_id[$i]'
            AND demande_ou_projet.IdClientDemande='".$ldemande."'
            AND demande_se_trouve_dans_etat.Date_entree
            Between '".date_en($ledebut)."' And '".date_en($lafin)."'
            AND sous_systeme.IdAppli='DEV'
            AND demande_se_trouve_dans_etat.Code_etat='TER' $where_type)
            ";
        }
    }
 
//Execution de la requete
$res=$bdd->query($sql);
$nbr=$bdd->num_rows($res);
}
je reste à votre disposition pour plus d'info ou question merci d'avance