kida Posté 2 Avril 2006 Posté 2 Avril 2006 Salut les codeurs, Depuis hier je cherche à résoudre ma boucle while qui fais des siennes. En fait je veux afficher les commandes du jour selon la date. Le problème c'est que ma boucle while n'en fini pas, pourtant j'ai l'impression de l'utiliser comme d'hab. Il m'affiche plein de fois la seule commande du jour. Peut-etre la date pose un prob ???? Là je ne vois plus. Please Help ! Code: <? if(isset($_GET['jour'])) { require_once('../connexion.php'); $sql='Select * From Comand Where date_cmd="'.$date_cmd.'" ORDER BY id'; $req=mysql_query($sql) or die('Erreur SQL!'.$sql.mysql_error()); $list=mysql_fetch_array($req); if(!$list) { echo "Aucune commande pour aujourd'hui !"; } else { echo "Commande(s) reçue(s) le ".$jour."<br><br>"; echo "Numéro de commande:<br><br>"; while($list) { echo $list['num_cmd']." ----> <a href=#>Voir le détail</a><br>"; } } } ?>
MS-DOS_1991 Posté 2 Avril 2006 Posté 2 Avril 2006 (modifié) Fais plutôt while ($list = mysql_fetch_array($req)), ce qui re-remplira ta variable à chaque itération de la boucle (sinon, c'est comme si tu faisait while (1)) Modifié 2 Avril 2006 par MS-DOS_1991
kida Posté 2 Avril 2006 Auteur Posté 2 Avril 2006 J'ai tenté avec while ($list = mysql_fetch_array($req)) Mais il ne m'affiche pas le While du tout J'ai tenté aussi comme ça if($list=mysql_fetch_array($req)) { echo "Commande(s) reçue(s) le ".$jour."<br><br>"; echo "Numéro de commande:<br><br>"; while($list) { echo $list['num_cmd']." ----> <a href=#>Voir le détail</a><br>"; } } else { echo "Aucune commande pour aujourd'hui !"; } Mais rien à faire la boucle n'en fini pas. Je ne comprendre vraiment pas ???
MS-DOS_1991 Posté 2 Avril 2006 Posté 2 Avril 2006 Essaie peut-être comme ceci: <?phpif(isset($_GET['jour'])){ require_once('../connexion.php'); $sql = 'Select * From Comand Where date_cmd="'.$date_cmd.'" ORDER BY id'; $req = mysql_query($sql) or die('Erreur SQL!'.$sql.mysql_error()); if(!mysql_fetch_array($req)) { echo "Aucune commande pour aujourd'hui !"; } else { echo "Commande(s) reçue(s) le ".$jour."<br><br>"; echo "Numéro de commande:<br><br>"; while($list = mysql_fetch_array($req)) { echo $list['num_cmd']." ----> <a href=#>Voir le détail</a><br>"; } }}?>
kida Posté 2 Avril 2006 Auteur Posté 2 Avril 2006 J'ai essayé ta proposition MS-DOS_1991, mais c'est la meme il ne m'affiche pas le While. Je vais continuer de cherche, merci quand meme. Si tu as d'autres idées ???
MS-DOS_1991 Posté 2 Avril 2006 Posté 2 Avril 2006 J'ai essayé ta proposition MS-DOS_1991, mais c'est la meme il ne m'affiche pas le While. Je vais continuer de cherche, merci quand meme. Si tu as d'autres idées ??? <{POST_SNAPBACK}> Au fait je suis parti du fait que les données de ta requète (nom des champs) étaient correctes: peut-être devrais-tu vérifier --> En particulier, le nom "Comand" m'intrigue: faute de frappe ? Quand à $date_cmd, d'où vient cette variable ?
kida Posté 2 Avril 2006 Auteur Posté 2 Avril 2006 Le nom de la table Comand est correct. Et $date_cmd c'est: <p><br><span class="textVertGras">Gestion des commandes</span></p><p>--><a href="Gestion_comand.php?jour">Voir les commandes du jour </a>(Nous sommes le:<? $date_cmd=date("Y-m-d"); $a=substr($date_cmd,0,4); $m=substr($date_cmd,5,2); $j=substr($date_cmd,8,2); $jour=$j.'-'.$m.'-'.$a; echo $jour;?> ) </p> Je prend $date_cmd pour le tri de la table car elle est insérer comme cela dans ma base. Pour l'affichage c'est $jour. J'ai l'impression qu'il m'affiche autant de fois la commande qu'il y a d'années (2006)
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant