par
furiouslol » 22 oct. 2008, 02:13
J'me relis et je comprend que tu sois confus :p (il se fait tard ^^)
Donc en fait grace a mysql_num_rows ( $result ) tu peux savoir combien de ligne retourne ta requete, avant d'en parcourir le résultat, ainsi pendant ton parcours tu met une condition a l'affichage de ta virgule :
$query = "SELECT * FROM $table";
$result = mysql_query($query); // résultat de la requete
$numRow = mysql_num_rows ( $result ); // nombre de ligne retournés par la requete
$Cpt=0; // initialisation d'une compteur
// tant qu'il y a des fiches
while ($val = mysql_fetch_array($result))
{
$Cpt++; // on incrémente le compteur de 1
echo $val["nom"];
echo "-";
echo $val["couleur"];
// Si le compteur est différent du nombre de ligne, alors ce n'est pas la derniere ligne, donc on peut afficher la virgule
if ($numRow != $Cpt)
echo ", ";
}
Sinon pour retirer le dernier elément d'une chaine, y a une exemple dans la doc :
substr("abcdef", 0, -1); // retourne abcde
J'me relis et je comprend que tu sois confus :p (il se fait tard ^^)
Donc en fait grace a mysql_num_rows ( $result ) tu peux savoir combien de ligne retourne ta requete, avant d'en parcourir le résultat, ainsi pendant ton parcours tu met une condition a l'affichage de ta virgule :
[php]$query = "SELECT * FROM $table";
$result = mysql_query($query); // résultat de la requete
$numRow = mysql_num_rows ( $result ); // nombre de ligne retournés par la requete
$Cpt=0; // initialisation d'une compteur
// tant qu'il y a des fiches
while ($val = mysql_fetch_array($result))
{
$Cpt++; // on incrémente le compteur de 1
echo $val["nom"];
echo "-";
echo $val["couleur"];
// Si le compteur est différent du nombre de ligne, alors ce n'est pas la derniere ligne, donc on peut afficher la virgule
if ($numRow != $Cpt)
echo ", ";
} [/php]
Sinon pour retirer le dernier elément d'une chaine, y a une exemple dans la doc :
[php]substr("abcdef", 0, -1); // retourne abcde[/php]