Bonjour à tous,
Je dois créer un tableau oui/non à partir d'une base de données qui aurait la forme suivante :
outil 1 | outil 2 |outil 3 | outil 4 ... outil 100
garage1 X X X
garage2 X X X
garage3 X X X
garage4 X X X
garage100 X X X
Avant de faire ce tableau, je fais une recherche pour savoir suivant des critéres la liste des garages qui conviendraient.
J'ai donc au final :
-une premiére requête avec la liste des garages.
-une seconde requête avec la liste des outils pour les afficher dans mon tableau.
Il me reste plus qu'à afficher pour chaque garage si ils ont les outils.(c'est à dire les coix)
Et là j'ai un probléme.
Avec ma premiére requête je récupére les numéros de garage dans un tableau.
Puis pour chaque garage je fais :
-une requête pour prendre les liaisons garage_outil
-une requête pour reprendre ma liste d'outil
et après je regarde suivant ma liste d'outil si la liaison existe :
-si elle existe -> cela m'affiche une croix
-si elle n'existe pas -> cela m'affiche une case vide
voici mon code :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| <?php
$j=0;
$nbGarage=count($garage);
for ($i=0;$i<1;$i++){
$sql3="SELECT NUMOUTIL, DESCRIPTIONOUTIL FROM OUTIL, GARAGE_OUTIL WHERE GARAGE_OUTIL.NUMOUTIL=OUTIL.NUMOUTIL AND NUMGARAGE=".$garage[$i]." ORDER BY NOMOUTIL";
$resultat3 = mysql_query($sql3) or die(mysql_error());
$sql4 = "SELECT NUMOUTIL FROM OUTIL ORDER BY NOMOUTIL";
$resultat4 = mysql_query($sql4) or die(mysql_error());
while ($row = mysql_fetch_row($resultat3) && $row2 = mysql_fetch_row($resultat4)){
$l1 = count ($row2);
for($i=0;$i<$l1;$i++){
$l2 = count ($row2 [$i]);
if ($row2[$i]==$row[$j]){
echo("<td class='hauteur3_jc'>$row2[$i] et $row[$j]</td>");
$j=$j+1;
}
else{
echo("<td class='hauteur3_jc'>$row2[$i] et $row[$j]</td>");
}
}
}
}
?> |
Je pense qu'il y a un probléme car il ne me veut pas de :
while ($row = mysql_fetch_row($resultat3) && $row2 = mysql_fetch_row($resultat4)){
J'espere que vous pourrez m'aider. Si mon message n'est pas compréhensible n'hesiter pas à me poser des questions.
@+ Seb
Partager