Boucle while et requete

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Boucle while et requete

par analfabete » 10 mars 2007, 21:08

Oui en faite la requete était à titre d'exemple voilà mon code que j'ai fait:
			$i=1;
			while($i<=3)
			{ 
				if(	$_SESSION['code_ref_'.$i]!=0 )
				{	
					$req=mysql_query('SELECT i.id, r.nom FROM mbru_info i JOIN prod_ref r ON i.code_ref=r.code_ref WHERE i.code_ref='.$_POST['code_ref_'.$i].' AND i.statut=0 LIMIT '.$_POST['qtt_'.$i]) or die(mysql_error());
					
					while($res=mysql_fetch_assoc($req))
					{
					echo $req;
					echo "<pre>";
					print_r($res);
					echo "</pre>";
					}
					
				}
				
				$i++;		
			}
En faite je traite 3 champ input de formualire d'ou le $i=1 jusqu'a 3 et en fonction de ce que l'utilisateur rempli ma requete difère.
Mon problème c'est que lorsque le champ 1 ou 2 est rempli ma requete n affiche rien
Tandis que si je remplis mon dernier formulaire cas ou $i=3 cela marche ...

par Jules Petibidon » 10 mars 2007, 20:50

hello,

je crois que sinon tu peux faire une requete de ce style :

'SELECT id FROM membre WHERE ref_da IN ( 1,2,3 )'

ce qui t'évite une boucle et te simplifie le traitement...

a toi de t'arranger pour former la requete... pas bien compliqué... non ? ;)

par AB » 10 mars 2007, 20:31

Bonjour,

Tu l'affiche pareil que si tu ne faisais pas de boucle. Fais un tour du coté de http://www.phpdebutant.org/article66.php c'est très bien expliqué.

Cela dit, tout le monde te dira qu'il ne faut pas faire de requête select dans une boucle...M'enfin si c'est limité à 3 requêtes ça peut encore passer. Mais d'une manière générale il faut vraiment éviter.

Boucle while et requete

par analfabete » 10 mars 2007, 18:38

Bonjour à tous, je suis actuellement en train de faire une boucle for($i=1;$i<=3;i++)
Pour chaque $i j'effectue une requete particulière
Par exemple
$req=mysql_query('SELECT id FROM membre WHERE ref_da='.$i)
Chaque requete contient plusieur resultat.
Moi j'aimerai afficher le resultat de chaque requete mais je ne sait pas comment faire.
Voici le début de mon script:
for($i=1;$i<=3;i++)
{
    $req=mysql_query('SELECT id FROM membre WHERE ref_da='.$i);

     //Comment dois je faire pour afficher els resultat de chaqeu requete à la suite ?
}

Voilà merci d'avance !