Bonjour,
J'ai un petit problème de while imbriqué.
J'ai un problème un peu chiant, je vous explique
J'ai trois tables MySQL, une avec la liste des régions de France, une avec la liste des département et une avec les communes.
Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 reg2012 : REGION tinyint(2), NCCENR text. depts2012 : REGION tinyint(2), DEP varchar(3), NCCENR text. comsimp2012 : REGION tinyint(2), DEP varchar(3), ARTMIN text, NCCENR text.
L'idée serait d'avoir le résultat suivant :
…REG1
DEP1 by REG1
COM1 by DEP1 & REG1
COM2 by DEP1 & REG1
…
DEP2 by REG1
…
REG2
DEP1 by REG2
COM1 by DEP1 & REG2
COM2 by DEP1 & REG2
…
DEP2 by REG2
…
J'ai pensé faire des while imbriqués, mais ça ne fonctionne pas et ça semblerait normal.
EX : (je n'ai pas mis les cantons pour le test)
Ça ne fonctionne pas et affiche un truc du genre :
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 <?php //reg2012 $sql1 = "SELECT REGION,NCCENR FROM reg2012 ORDER BY NCCENR ASC"; // Requette MySQL $req1 = mysql_query($sql1) or die('Erreur SQL !<br />\n'.$sql1.'<br />\n'.mysql_error()); while($data1 = mysql_fetch_array($req1)) { echo "<li>".$data1['NCCENR']." - ".$data1['REGION']."</li>\n"; $REGION=$data1['REGION']; //depts2012 $sql2 = "SELECT * FROM depts2012 WHERE REGION=$REGION"; // Requette MySQL $req2 = mysql_query($sql2) or die('Erreur SQL !<br />\n'.$sql2.'<br />\n'.mysql_error()); echo "<ul>"; while($data2 = mysql_fetch_array($req2)) { echo "<li>".$data2['NCCENR']." - ".$data2['REGION']."</li>\n"; } echo "</ul>"; } mysql_free_result($req1); // Libération de la requette ?>
Alsace - 42
Paris - 11
Seine-et-Marne - 11
…
Aquitaine - 72
Paris - 11
Seine-et-Marne - 11
…
J'ai entendu parlé de mysql_data_seek, mais je ne vois pas comment l'utiliser dans le cas.
Quelqu'un aurait une idée, je patauge pas mal.
Merci d'avance.
Partager