Aide requete SQL

Résolu/Fermé
antic80
Messages postés
4751
Date d'inscription
lundi 30 mai 2005
Statut
Contributeur
Dernière intervention
9 septembre 2009
- 4 juil. 2006 à 16:47
 sofsharon - 9 févr. 2008 à 20:55
bonjour

Voila j'aimerai afficher les 10 derniers noms entrés dans une table

j'ai ecris ca mais ca ne me retourne qu'un nom

<?
	include("connexion.php");
	$sql10="SELECT * FROM phpbb_users ORDER BY 'user_id' desc limit 10 ";
	$req10 = mysql_query($sql10) or die('Erreur SQL !<br>'.$sql10.'<br>'.mysql_error());
	$row = mysql_fetch_array($req10);
	while($row = mysql_fetch_array($req10))
	{
	$user=$row['username'];
	}
	?>


j'ai du oublié quelque chose

16 réponses

kilian
Messages postés
8731
Date d'inscription
vendredi 19 septembre 2003
Statut
Modérateur
Dernière intervention
20 août 2016
1 521
4 juil. 2006 à 16:54
La requête paraît bonne, c'est plutôt du côté de la boucle que ça coince:
while($row = mysql_fetch_array($req10))
{
	$user=$row['username'];
}

A chaque passage dans cette boucle, $user prendra la dernière valeur récupérée. Donc, en sortant la boucle, $user aura la dernière valeur récupérée et c'est tout.

Stocke tes valeurs dans un tableau:
while($row = mysql_fetch_array($req10))
{
	$users[]=$row['username'];
}

Ensuite tu parcoures ton tableau pour faire ce que tu veux avec chaque valeur:
foreach ($users as $user)
{
          /* A cache occurence dans cette boucle, $user sera la variable
          qui représente une des cases du tableau $users */
}
1
kilian
Messages postés
8731
Date d'inscription
vendredi 19 septembre 2003
Statut
Modérateur
Dernière intervention
20 août 2016
1 521
4 juil. 2006 à 22:54
Voui, antic80 a fait un mysql_fetch_array de trop dans son code....
1
antic80
Messages postés
4751
Date d'inscription
lundi 30 mai 2005
Statut
Contributeur
Dernière intervention
9 septembre 2009
1 174
5 juil. 2006 à 15:26
probleme résolu

j'avais garder cette ligne la dans mon code

$row = mysql_fetch_array($req10);
1
antic80
Messages postés
4751
Date d'inscription
lundi 30 mai 2005
Statut
Contributeur
Dernière intervention
9 septembre 2009
1 174
4 juil. 2006 à 18:09
bon j'ai modifié et ca donne ca donc

<?
	include("connexion.php");
	$sql10="SELECT * FROM phpbb_users ORDER BY 'user_id' desc limit 10 ";
	$req10 = mysql_query($sql10) or die('Erreur SQL !<br>'.$sql10.'<br>'.mysql_error());
	$row = mysql_fetch_array($req10);
	while($row = mysql_fetch_array($req10))
	{
	$users[]=$row['username'];
	}
	foreach ($users as $user)
		{
		echo $user;
		}
	?>


ds ma base j'ai ca

champs id et username

-1 anonymous
2 admin

mais ca ne me renvoie que anonymous
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
ceddec
Messages postés
148
Date d'inscription
dimanche 31 juillet 2005
Statut
Membre
Dernière intervention
10 mars 2012
82
4 juil. 2006 à 21:55
Bonjour,

En s'inspirant de :
https://www.php.net/mysql_query

Cela donnerait ça :

<?
	include("connexion.php");
	$sql10="SELECT * FROM phpbb_users ORDER BY 'user_id' desc limit 10 ";
	$req10 = mysql_query($sql10) or die('Erreur SQL !<br>'.$sql10.'<br>'.mysql_error());
	$i =0;
	while($row =mysql_fetch_assoc($req10))
	{
	         $users[$i]=$row['username'];
                 $i++;
	}
	foreach ($users as $user)
		{
		echo $user;
		}
	?>


Mais c'est à tester
0
antic80
Messages postés
4751
Date d'inscription
lundi 30 mai 2005
Statut
Contributeur
Dernière intervention
9 septembre 2009
1 174
4 juil. 2006 à 23:57
ca ne marche tjs je n'ai qu'un enregistrement qui s'affiche
0
kilian
Messages postés
8731
Date d'inscription
vendredi 19 septembre 2003
Statut
Modérateur
Dernière intervention
20 août 2016
1 521
5 juil. 2006 à 03:11
Chais pas... Le code de ceddec me parait parfait.
Tu es certain que ta table possède deux lignes (anonymous et admin?)
0
antic80
Messages postés
4751
Date d'inscription
lundi 30 mai 2005
Statut
Contributeur
Dernière intervention
9 septembre 2009
1 174
5 juil. 2006 à 09:09
oui sure et certain

ne serait ce pas parce que l'id de anonymous est a -1
0
ceddec
Messages postés
148
Date d'inscription
dimanche 31 juillet 2005
Statut
Membre
Dernière intervention
10 mars 2012
82
5 juil. 2006 à 10:25
Bonjour,

Non ce n'est pas à cause de l'identifiant puiqu'il ne sert pas. J'ai testé le code que j'ai mis et il fonctionne. Je me suis fait une base de donnée avec les même champs et il n'y a aucun problème.
Une remarque, lorsque tu affiches il faut ajouter un retour à la ligne sinon tous les noms se mettront à la suite. le foreach devient :
        foreach ($users as $user)
	{
		echo $user."<br>";
	}
0
antic80
Messages postés
4751
Date d'inscription
lundi 30 mai 2005
Statut
Contributeur
Dernière intervention
9 septembre 2009
1 174
5 juil. 2006 à 10:51
ca ne me change rien je n'ai qu'un nom
0
ceddec
Messages postés
148
Date d'inscription
dimanche 31 juillet 2005
Statut
Membre
Dernière intervention
10 mars 2012
82
5 juil. 2006 à 11:07
Essaie d'afficher tout ce que contient le résultat.
C'est à dire au moment où tu remplis $users, tu affiches en même temps :
        while($row =mysql_fetch_assoc($req10))
	{
	         $users[$i]=$row['username'];
                 echo $row['username']."<br>";
                 $i++;
	}


Si il n'y a pas deux éléments c'est que le problème vient d'ailleurs mais la je n'ai aucune idée
0
antic80
Messages postés
4751
Date d'inscription
lundi 30 mai 2005
Statut
Contributeur
Dernière intervention
9 septembre 2009
1 174
5 juil. 2006 à 14:35
en faisant ca j'obtient comme affichage

anonymous
anonymous
0
ceddec
Messages postés
148
Date d'inscription
dimanche 31 juillet 2005
Statut
Membre
Dernière intervention
10 mars 2012
82
5 juil. 2006 à 14:48
La seule explication est donc que c'est dans la base de donnée. Il ne doit y avoir que anonymous.
Essaies d'executer la requete directement sur la base de donnée (avec phpMyAdmin par exemple si tu l'utilise) pour voir le résultat. Si le résultat est anonymous c'est que tu n'as pas insérer admin
0
Ndédé
Messages postés
3
Date d'inscription
samedi 20 janvier 2007
Statut
Membre
Dernière intervention
30 avril 2007

30 avril 2007 à 09:50
Bonjour,
Je voudrais concatener un champ numerique fixe, un N°depart, un dernierN° et une date;
Est-ce possible
Merci
0
Bonjour, je suis en premiere stg gestion et je compris pas vraimen a quoi sert le schéma relationnel et les requetes SQL sé vraimen soulant: mercci de maider
0
Bonsoir! j'ai un pti probleme, je voudrai avor des cour sur SQL avec l'oracle! es possible d'en trouvé chez vous! merci bcp
en pdf ca serai mieux! merci
0