Aller au contenu

Boucle While (Etrange) ?


kida

Sujets conseillés

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>";
   }
 }
 }
 ?>

Lien vers le commentaire
Partager sur d’autres sites

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é par MS-DOS_1991
Lien vers le commentaire
Partager sur d’autres sites

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 ??? :gueule:

Lien vers le commentaire
Partager sur d’autres sites

Essaie peut-être comme ceci:

<?php
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());
 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>";
   }
 }
}
?>

Lien vers le commentaire
Partager sur d’autres sites

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 ???

Lien vers le commentaire
Partager sur d’autres sites

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 :unsure:

--> En particulier, le nom "Comand" m'intrigue: faute de frappe ?

Quand à $date_cmd, d'où vient cette variable ?

Lien vers le commentaire
Partager sur d’autres sites

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)

Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...