plusieurs condition dans une boucle while

plusieurs condition dans une boucle while - PHP - Programmation

Marsh Posté le 17-08-2006 à 00:08:42    

je voudrais mettre deux conditions dans ma boucle while mais ça ne fonctionne pas. Voici mon code :
 

Code :
  1. $sql = "select * from article_stock where codearticle like 'DVD%' order by codearticle, art_num desc;
  2. $req = mysql_query($sql);
  3. if ($req==false) die("Echec lors de la recherche des articles du stock ! ".mysql_error().$sql);
  4. if (mysql_num_rows($req)>0)
  5. {
  6. while ($data = mysql_fetch_assoc($req) && $continu==true)
  7. {
  8. }


 
Y a t'il une astuce en php pour ça plutot que de passer par des if ?

Reply

Marsh Posté le 17-08-2006 à 00:08:42   

Reply

Marsh Posté le 17-08-2006 à 00:46:42    

Utilise des parenthèses entre les conditions.

Reply

Marsh Posté le 17-08-2006 à 00:50:27    

plusieurs choses :
1 : pour tester une valeur booléenne, pas besoin de préciser '==true' :
une condition teste si une expression est vraie, si $continu vaut déjà true, cette expression est vraie, là tu fait une sorte un pléonasme : "si c'est vrai que $continu est vrai".
 
2 : si tu veux simplement arrêter la boucle, il existe déjà l'instruction break; qui aura pour effet de faire sortir de la boucle.
 
3 : normalement ce que tu as fait devrait marcher, là il y a surtout une faute de syntaxe (manque un " en fin de première ligne).


---------------
Martin
Reply

Marsh Posté le 17-08-2006 à 08:46:33    

Merci, j'ai rajouter les parenthèses et enlever le ==true et ça marche :)

Reply

Marsh Posté le 17-08-2006 à 08:47:42    

Et c'est pas plus mal d'encadrer chacune de tes conditions par des parenthèses je pense.
 

Code :
  1. while (($data = mysql_fetch_assoc($req)) && ($continu==true))

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed