Téléchargement
illégal
Posez votre question Signaler

PHP boucle while 10 fois

bomber48 - Dernière réponse le 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?
Lire la suite 

PHP boucle while 10 fois »

Suggestions
13 réponses
Réponse
+0
moins plus
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";
 }
Ajouter un commentaire
Réponse
+0
moins plus
Mais comment intégrer cela? dans mon code source?
Ajouter un commentaire
Réponse
+0
moins plus
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"; 
1234 - 30 mars 2011 à 13:24
ce serait plutôt ORDER BY id DESC LIMIT 0,10
Ajouter un commentaire
Réponse
+0
moins plus
merci baucoup :)
Ajouter un commentaire
Réponse
+0
moins plus
je suis désolé j'avais pas penser à ça, alors que je l'utilise tous le temps pour trier des tableaux

merci doc
Ajouter un commentaire
Réponse
+0
moins plus
Bonjour,

Je voudrais savoir si c'est normal que quand je met une "LIMIT 3" cela me selectione seulement 2 valeurs.
Ajouter un commentaire
Réponse
+0
moins plus
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.
Ajouter un commentaire
Réponse
+0
moins plus
$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
Ajouter un commentaire
Réponse
+0
moins plus
place après mysql_query :
echo '<br>' . mysql_num_rows( $result );

Qu'est-ce qui est affiché ?
Ajouter un commentaire
Réponse
+0
moins plus
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...
Ajouter un commentaire
Réponse
+0
moins plus
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";
		}
	}
Ajouter un commentaire
Réponse
+0
moins plus
Merci, parfait
Ajouter un commentaire
Ce document intitulé « PHP boucle while 10 fois » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?