PHP boucle while 10 fois

Fermé
bomber48 - 20 mars 2008 à 20:15
 1234 - 30 mars 2011 à 13:24
Bonjour,
Voici le code source :
$query = "SELECT id FROM pmv_voitures ORDER BY id";
$result = mysql_query($query);

if (!mysql_fetch_row($result)) {
echo "Aucun véhicule n'est présent dans la base !";
}

else {
while($row = mysql_fetch_row($result))

{
$id = $row[0];

echo "$id";
}

}

Je souhaiterai que la boucle "while" fonctionne 10 fois seulement, et cela malgré si il y a plus d'information dans la base de donnée. Comment je peux faire cela?
A voir également:

12 réponses

clintm Messages postés 689 Date d'inscription lundi 11 avril 2005 Statut Membre Dernière intervention 10 juin 2015 75
20 mars 2008 à 20:24
salut,

il suffit d'incrémenter de 1 à chaque fois que la boucle fais un cycle, est de bloquer si la variable est égale à 10
éxemple (avec for, car plus simple) :
$i = 0;
for($i=0; $i<=5; $i++)
 {
 if($i == 10)
  {
  return false();
  }
 $i = $i + 1;
 print "salut $i";
 }
0
Mais comment intégrer cela? dans mon code source?
0
Dr Zoidberg Messages postés 529 Date d'inscription jeudi 28 juin 2007 Statut Membre Dernière intervention 12 juin 2015 100
21 mars 2008 à 08:21
Salut,

Pourquoi ne pas limiter directement le nombre de lignes de la requête SQL ?
$query = "SELECT id FROM pmv_voitures ORDER BY id LIMIT 10"; 
0
ce serait plutôt ORDER BY id DESC LIMIT 0,10
0
merci baucoup :)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
clintm Messages postés 689 Date d'inscription lundi 11 avril 2005 Statut Membre Dernière intervention 10 juin 2015 75
21 mars 2008 à 14:53
je suis désolé j'avais pas penser à ça, alors que je l'utilise tous le temps pour trier des tableaux

merci doc
0
Bonjour,

Je voudrais savoir si c'est normal que quand je met une "LIMIT 3" cela me selectione seulement 2 valeurs.
0
croy Messages postés 453 Date d'inscription samedi 19 janvier 2008 Statut Membre Dernière intervention 23 octobre 2012 114
22 mars 2008 à 09:19
Si avec un LIMIT 3 tu ne reçois que 2 enregistrements c'est que tu as un WHERE qui ne retourne que 2 enregistrements.
0
$query = "SELECT id,titre FROM pmv_voitures ORDER BY id DESC LIMIT 3";
$result = mysql_query($query);

Voilà, je n'ai donc pas de WHERE
0
croy Messages postés 453 Date d'inscription samedi 19 janvier 2008 Statut Membre Dernière intervention 23 octobre 2012 114
22 mars 2008 à 12:02
place après mysql_query :
echo '<br>' . mysql_num_rows( $result );

Qu'est-ce qui est affiché ?
0
mysql_connect($host,$user,$passwd)or die("<span class=\"texte\">Erreur de connexion au serveur !</span> \n");
mysql_select_db($bdd) or die("<span class=\"texte\">Erreur de connexion a la base de donnees !</span> \n");

$query = "SELECT id,titre FROM pmv_voitures ORDER BY id DESC LIMIT 3";
$result = mysql_query($query);



if (!mysql_fetch_row($result)) {
echo "<tr><td bordercolor=\"#CCCCCC\">Aucun véhicule n'est présent dans la base !</td></tr> \n";
}
else {
while($row = mysql_fetch_row($result))

{
$id = $row[0];
$titre = $row[1];

echo "<tr><td bordercolor=\"#CCCCCC\"><a href=\"http://www.citroen-rudi.com/vehicules/index.php?id=$id\">$titre</a>

</td></tr> \n";
}
}


Cela ne marche pas :( Voici le code que j'utilise. Par exemple si je rentre deux donnée la premier s'affiche, et si j'en rentre 3 les deux premiéres s'affichent...
0
croy Messages postés 453 Date d'inscription samedi 19 janvier 2008 Statut Membre Dernière intervention 23 octobre 2012 114
22 mars 2008 à 12:32
Le premier appel de mysql_fetch_row pour tester si il y a au moins une réponse provoque la perte du premier enregistrement 'sil y en a un.

Voici le code que je te propose :
mysql_connect($host,$user,$passwd)or die("<span class=\"texte\">Erreur de connexion au serveur !</span> \n");
mysql_select_db($bdd) or die("<span class=\"texte\">Erreur de connexion a la base de donnees !</span> \n");

$query = "SELECT id,titre FROM pmv_voitures ORDER BY id DESC LIMIT 3";
$result = mysql_query($query);

$nbrRows = mysql_num_rows( $result );

if( $nbrRows == 0 )
	echo "<tr><td bordercolor=\"#CCCCCC\">Aucun véhicule n'est présent dans la base !</td></tr> \n";
else
	{
	while( $row = mysql_fetch_row( $result ) )
		{
		$id = $row[0];
		$titre = $row[1];
		
		echo "<tr><td bordercolor=\"#CCCCCC\"><a href=\"http://www.citroen-rudi.com/vehicules/index.php?id=$id\">$titre</a&­gt;
		
		</td></tr> \n";
		}
	}
0
Merci, parfait
0