savoir qu'on est a la dernière ligne d'une 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 : savoir qu'on est a la dernière ligne d'une requete ?

par Invité » 07 juin 2007, 23:51

merci pour ces derniers conseils

par @rthur » 07 juin 2007, 23:47

ok j'ai fait ça et ça fonctionne
		$i = 0;
		do {  
 
echo $row_sousCategories['ss_categorie'];

 if($i != mysql_num_rows($sousCategories) -1){ echo ", "; $i++;} 

  } while ($row_sousCategories = mysql_fetch_assoc($sousCategories));

Merci de m'avoir mis sur la bonne piste
De rien ;)

Si tu veux juste 2 conseils à la con:
- initialise $i à 1 plutôt que de mettre "-1" dans ton test, ça permettra de rendre ton code plus facilement compréhensible => plus facilement maintenable quand tu devras le relire plus tard.
- Affecte le résultat de mysql_num_rows() à une variable avant ta boucle while, ça permet d'éviter de l'appeler plusieurs fois et docn ça te fait gagner du temps d'exécution :)

par Gico » 07 juin 2007, 21:05

ok j'ai fait ça et ça fonctionne
		$i = 0;
		do {  
 
echo $row_sousCategories['ss_categorie'];

 if($i != mysql_num_rows($sousCategories) -1){ echo ", "; $i++;} 

  } while ($row_sousCategories = mysql_fetch_assoc($sousCategories));

Merci de m'avoir mis sur la bonne piste

par @rthur » 07 juin 2007, 18:57

Bonjour,

Avec la fonction mysql_num_rows() tu peux récupérer le nombre de résultats, donc ensuite il suffit que tu incrémentes une variable dans ta boucle et que tu compares avec le nombre de résultats renvoyés.

http://fr.php.net/mysql_num_rows

savoir qu'on est a la dernière ligne d'une requete ?

par Gico » 07 juin 2007, 18:22

Bonjour
J'affiche le résultat d'une requête (des titres) avec une boucle while, à chaque boucle , j'ajoute une virgule après le titre, le prob c'est qu'a la dernière occurrence j'ai aussi une virgule. Je me doute qu'il faut que je mette une condition pour l'affichage de la virgule (" tant que ce n'est pas le dernier resultat"), mais comment sait-on qu'on est a fin de la requête ?

Code : Tout sélectionner

do { ?> <?php echo ' $row_sousCategories['ss_categorie']; ?> <?php if( "c'est pas la dernière ligne" ){ echo ", ";} ?> <?php } while ($row_sousCategories = mysql_fetch_assoc($sousCategories)); ?>
merci