2 tableaux et 2 while
Résolu
t671
Messages postés
1478
Date d'inscription
Statut
Membre
Dernière intervention
-
t671 Messages postés 1478 Date d'inscription Statut Membre Dernière intervention -
t671 Messages postés 1478 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Dans mon script, je veux afficher 2 tableaux côte à côte. Pour chaque tableau j'ai une boucle while. Je n'arrive pas à arrêter la première boucle (du 1° tableau) avavnt d'afficher la 2° tableau.
Ce que j'ai écrit :
Quand je teste, la boucle sur le tableau_1 est ok, puis la boucle continue à vide sur le tableau_1, et enfin le boucle sur le tableau_2 est ok.
Comment faire pour éviter la boucle à vide du tableau_1 ?
Merci.
Dans mon script, je veux afficher 2 tableaux côte à côte. Pour chaque tableau j'ai une boucle while. Je n'arrive pas à arrêter la première boucle (du 1° tableau) avavnt d'afficher la 2° tableau.
Ce que j'ai écrit :
echo '<div class="tableau_1">';
$select = 'SELECT * FROM ................
echo '<table><tr>';
while ($row = mysql_fetch_array($result))
{
............................
if (empty($row['num_pere']))
{
echo '</tr></table>';
echo '</div>';
} }
echo '<div class="branche_2">';
$select = 'SELECT * FROM ....................
echo '<table><tr>';
while ($row8 = mysql_fetch_array($result))
{
............................
if (empty($row8['nom']))
{
echo '</tr></table>';
echo '</div>';
exit;
}}
Quand je teste, la boucle sur le tableau_1 est ok, puis la boucle continue à vide sur le tableau_1, et enfin le boucle sur le tableau_2 est ok.
Comment faire pour éviter la boucle à vide du tableau_1 ?
Merci.
5 réponses
-
Salut !
Explique comment tu veux afficher tes tableaux, genre, les colonnes, les lignes ??
Et le test if(empty()), c'est pourquoi faire au juste ?
-
Merci JooS.
J'avais commencé par faire un tableau par script, et ils fonctionnaient très bien.
J'avais écrit :while ($row = mysql_fetch_array($result)) { ............................ if (empty($row['num_pere'])) { exit; }
Ainsi, quand je n'avais plus d'enregistrement, le tableau s'arrêtait. Et j'avais tout ce que je demandais.
Mais en affichant les deux tableaux dans le même script, si je fais un exit à la fin du premier tableau, je n'ai pas le 2°.
Normalement, je pensais que dans une boucle while, si il n'y a plus d'enregistrement, la boucle seterminait .......
Ou alors, il faudra que je revoie mon$select = 'SELECT * FROM ................
avant mon while. C'est lui qui doit être mauvais ou mal placé. Pourtant, je recherche un critère dans toute la base, donc ........... !!!!??? -
Pourquoi tu ne place pas
echo '</tr></table>';
echo '</div>';
à la fin de ta boucle? (pas dedans)
Dans tous les cas tu va devoir le mettre, et 1 fois. -
Si la requête retourne quelque chose, alors il va rentrer dans la boucle, ce qui affichera au moins une ligne !
Le empty de tout a l'heure, je vois toujours pas son utilité, sauf si dans ta BD, tu as des "num_pere" vide, ce qui n'est pas logique !
$select = 'SELECT * FROM ................'; $select2 = 'SELECT * FROM ....................'; echo '<div class="tableau_1">'; echo '<table>'; while ($row = mysql_fetch_array($result)) { echo '<tr><td>'.$row['num_pere'].'</td></tr>'; } echo '</table>'; echo '</div>'; echo '<div class="branche_2">'; echo '<table>'; while ($row8 = mysql_fetch_array($result)) { echo '<tr><td>'.$row8['nom'].'</td></tr>'; } echo '</table>'; echo '</div>';
-
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
Okkkk !!! Merci, j'ai réussi !!!!
A +