tout mon problème ce que j'en ai besoin c'est d'afficher une double requête dans le même tableau.
voici ce script qui est sensé le faire; les requêtes sont fonctionnelles je les ai essayé tous 2 sur le php myadmin et ils m'affichent les résultat que j'en ai besoin
j'ai tenté plusieurs choses et voici à chaque fois ce que j'obtenais veuillez regardez les images dans les pièces jointes... pour ce ci c'est l'image1
enfin comme vous allez le remarquez dans l'image 1, l'instruction dans la condition else ne veut pas s'afficher et j'ai même ôter le $ligne1[1] et remplacer par des caractère et c'est toujours le même problème!!
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 <? //requete permettant d'afficher toutes les types matières premières $requete_gen="select * from type_matiere_premiere,matiere_premiere where type_matiere_premiere.code_mat_pre=matiere_premiere.code_mat_pre"; while($ligne1=mysql_fetch_row($result1)) { //requête concernant la catégorie en cours en relation avec une variable globale $n_cat //cette requête devra me permettre si la condition est vérifiée d'afficher les enregistrements /concernés,type matiere,première consommés $requete_consom="select * from article,consommer,type_matiere_premiere,categorie,entree_stock where entree_stock.code_typ_mat_pre=type_matiere_premiere.code_typ_mat_pre and article.n_cat=categorie.n_cat and article.n_art=consommer.n_art and consommer.code_typ_mat_pre=type_matiere_premiere.code_typ_mat_pre and categorie.n_cat='$n_cat' and type_matiere_premiere.code_typ_mat_pre='$ligne1[0]' "; $res3=mysql_query($requete_consom)OR die(mysql_error()); //donc ici si condition vérifié et type_matiere_premiere.code_typ_mat_pre='$ligne1[0]' il doit //m'afficher les type matière premières consommés ce que j'arrive à obtenir et à //afficher(regarder image1) if($res3){ $ligne2=mysql_fetch_array($res3); //j'ai testé uniquement 3 champs mais je devrais afficher plusieurs echo'<tr><td>'.$ligne2["des_typ_mat_pre"].'</td><td>'.$ligne2["pr_ttc"].'</td><td>'.$ligne2["qte_mat_pre"].'</td></tr>'; } else //sinon je dois afficher le nom des type matière premières et des cases avec des //zéro(puisqu'ils ne sont pas consommés) { echo "<tr><td>".$ligne1[1]."</td><td>0</td><td>0</td></tr>"; } } mysql_close(); ?>
sinon voici ce que aussi j'ai tenté
veuillez regardez l'image 4 cette requête est celle qui est la plus proche à mon besoin mais le problème c'est que elle m'affiche que seulement une fois le "pr_ttc" dés que la condition est vérifiée comme vous allez le constater alors que je l'ai testé plusieurs fois j'avais plusieurs enregistrement qu'il fallait afficher.
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 <? //requete permettant d'afficher toutes les types matières premières $requete_gen="select * from type_matiere_premiere,matiere_premiere where type_matiere_premiere.code_mat_pre=matiere_premiere.code_mat_pre"; //requête concernant la catégorie en cours en relation avec la variable globale $requete_consom="select * from article,consommer,type_matiere_premiere,categorie,entree_stock where entree_stock.code_typ_mat_pre=type_matiere_premiere.code_typ_mat_pre and article.n_cat=categorie.n_cat and article.n_art=consommer.n_art and consommer.code_typ_mat_pre=type_matiere_premiere.code_typ_mat_pre and categorie.n_cat='$n_cat'"; $result1=mysql_query($requete_gen)OR die(mysql_error()); $result2=mysql_query($requete_consom)OR die(mysql_error()); //voici donc j'ai du mettre 2 while imbriqués la première $ligne2=mysql... est pour la //requête en relation avec la variable globale la 2ème et celle pour les enregistrements de //tous les type matière première de ma base while ($ligne2=mysql_fetch_assoc($result2)) { while($ligne1=mysql_fetch_assoc($result1)) { echo'<tr><td>'.$ligne1["des_typ_mat_pre"].'</td>'; if($ligne1['code_typ_mat_pre']==$ligne2['code_typ_mat_pre']) { echo'<td>'.$ligne2["pr_ttc"].'</td></tr>'; } else { echo"<td>0</td></tr>"; } } } mysql_close(); ?>
merci pour votre aide
Partager