PHP boucle while 10 fois
bomber48
-
1234 -
1234 -
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?
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?
Configuration: Windows XP Internet Explorer 7.0
12 réponses
-
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"; } -
-
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";
-
-
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
je suis désolé j'avais pas penser à ça, alors que je l'utilise tous le temps pour trier des tableaux
merci doc -
Bonjour,
Je voudrais savoir si c'est normal que quand je met une "LIMIT 3" cela me selectione seulement 2 valeurs. -
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.
-
$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 -
place après mysql_query :
echo '<br>' . mysql_num_rows( $result );
Qu'est-ce qui est affiché ? -
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... -
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> </td></tr> \n"; } } -