8797 sujets

Développement web côté serveur, CMS

Bonjours, j'ai un petit problème pour afficher des infos dans un while. Voila j'explique mon problème:

Le while ne m'affiche que 1 resultat, alors que logiquement il devrait m'en afficher plusieurs. $test me retourne pourtant plusieurs resultat, donc normalement on va chercher dans la deuxième requete avec WHERE id ='".$row['membre_id']."'les infos que la première requete nous retourne, et ca devrait afficher le meme nombre de resultat, or c'a n'est pas le cas. Merci à ceux qui pourrons m'aider.

$test = $mysql->query("SELECT membre_id, temps FROM ".$mysql->pref."_sessions WHERE temps >= '".(time()-600)."' AND membre_id!='0'");

$row = mysql_fetch_array($test);


$countmembres2 = $mysql->query("SELECT id, pseudo FROM ".$mysql->pref."_membres WHERE id ='".$row['membre_id']."'");

while ($w = mysql_fetch_array($countmembres2)) {

echo $w['pseudo'];}
Salut,

je suppose que ce que tu veux faire c'est plutôt ça :
<?php
$test = $mysql->query("SELECT membre_id FROM ".$mysql->pref."_sessions WHERE temps >= '".(time()-600)."' AND membre_id!='0'");
$row = mysql_fetch_array($test);
while ($row = mysql_fetch_array($test)) {
	$countmembres2 = $mysql->query("SELECT pseudo FROM ".$mysql->pref."_membres WHERE id ='".$row['membre_id']."'");
	$w = mysql_fetch_array($countmembres2);
	echo $w['pseudo'];
}
?>

Et si je me trompe, tu pourrais déjà afficher le nombre de résultats avec mysql_num_rows Smiley cligne .

A+
Oui ca devrait etre logiquement ca, mais c'est toujours pareil, le while ne m'affiche que 1 resultat, alors que le $test en comprend 2, donc normalement le while devrait m'afficher 2 resultat aussi.


En testant, si je fais ca, j'ai bien 2 fois "test" qui s'affiche:

$test = $mysql->query("SELECT * FROM ".$mysql->pref."_sessions WHERE temps >= '".(time()-600)."' AND membre_id!='0'");


while ($row = mysql_fetch_array($test)) {



echo 'test';

}

ca serait pas $row = mysql_fetch_array($test); qui ferait tout déconner?
Modifié par sff (12 Jan 2008 - 23:55)
Ah oui ! Un copier-collé malheureux Smiley langue ! Il faut supprimer la ligne :
[b]$row = mysql_fetch_array($test);[/b]


Edit:
sff a écrit :
ca serait pas $row = mysql_fetch_array($test); qui ferait tout déconner?

On s'est croisés !
Modifié par Heyoan (12 Jan 2008 - 23:57)
Je vais etre pénible lol, mais c'est pas possible dans mon cas de supprimer

$row = mysql_fetch_array($test);

parceque je m'en sert pour afficher des stat juste avant le while.
Non, c'est bon. Vraiment merci pour ton aide, j'étais pas très loin de la solution, mais tu m'a mis sur la piste.

A bientot