rss
Rechercher : dans
Par : Pertinence Date Nom d'utilisateur
Statut : Résolu

Aide requete SQL

antic80, le mardi 4 juillet 2006 à 16:47:29
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
Répondre à antic80  Signaler ce message aux modérateurs Aller au dernier message

1


  • 1
    Ce message vous semble utile, votez !
  • Ce message ne vous semble pas utile, votez !
  • Signaler ce message aux modérateurs
kilian, le mardi 4 juillet 2006 à 16:54:31
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 */
}
Répondre à kilian

2


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
antic80, le mardi 4 juillet 2006 à 18:09:16
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
Répondre à antic80

3


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
ceddec, le mardi 4 juillet 2006 à 21:55:02
Bonjour,

En s'inspirant de :
http://fr.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
Répondre à ceddec

4


  • 1
    Ce message vous semble utile, votez !
  • Ce message ne vous semble pas utile, votez !
  • Signaler ce message aux modérateurs
kilian, le mardi 4 juillet 2006 à 22:54:01
Voui, antic80 a fait un mysql_fetch_array de trop dans son code....
Répondre à kilian

5


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
antic80, le mardi 4 juillet 2006 à 23:57:51
ca ne marche tjs je n'ai qu'un enregistrement qui s'affiche
Répondre à antic80

6


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
kilian, le mercredi 5 juillet 2006 à 03:11:37
Chais pas... Le code de ceddec me parait parfait.
Tu es certain que ta table possède deux lignes (anonymous et admin?)
Répondre à kilian

7


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
antic80, le mercredi 5 juillet 2006 à 09:09:20
oui sure et certain

ne serait ce pas parce que l'id de anonymous est a -1
Répondre à antic80

8


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
ceddec, le mercredi 5 juillet 2006 à 10:25:17
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>";
	}
Répondre à ceddec

9


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
antic80, le mercredi 5 juillet 2006 à 10:51:28
ca ne me change rien je n'ai qu'un nom
Répondre à antic80

10


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
ceddec, le mercredi 5 juillet 2006 à 11:07:45
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
Répondre à ceddec

11


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
antic80, le mercredi 5 juillet 2006 à 14:35:22
en faisant ca j'obtient comme affichage

anonymous
anonymous
Répondre à antic80

12


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
ceddec, le mercredi 5 juillet 2006 à 14:48:27
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
Répondre à ceddec

13


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
antic80, le mercredi 5 juillet 2006 à 15:26:52
probleme résolu

j'avais garder cette ligne la dans mon code

$row = mysql_fetch_array($req10);
Répondre à antic80

16


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Ndédé, le lundi 30 avril 2007 à 09:50:25
Bonjour,
Je voudrais concatener un champ numerique fixe, un N°depart, un dernierN° et une date;
Est-ce possible
Merci
Répondre à Ndédé

17


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
nad74, le jeudi 22 novembre 2007 à 19:00:56
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
Répondre à nad74

18


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
 sofsharon, le samedi 9 février 2008 à 20:55:39
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
Répondre à sofsharon
Logiciels pertinents trouvés dans les téléchargements
Télécharger WAMP Server 2.0cWAMP Server - WAMP5 (WAMP signifiant Windows Apache Mysql PHP) est une plateforme de développement Web sous Windows. Il vous permet de...Catégorie: Serveurs
Licence: Freeware/gratuit
Télécharger Visual Basic 6 Runtime (VB6 DLL) 6.0 SP5Visual Basic 6 Runtime (VB6 DLL) - Le Runtime Visual Basic 6 contient l'ensemble des librairies (DLL) nécessaires pour exécuter des programmes écrits en...Catégorie: Librairies (DLL)
Licence: Freeware/gratuit
Télécharger MySQL 5.0.67MySQL - MySQL est une des systèmes de gestion de bases de données le plus répandu au monde. Catégorie: Bases de données
Licence: Open Source
Télécharger GLPI 0.71.1GLPI - GLPI est une application libre, distribuée sous licence GPL destinée à la gestion de parc informatique et de helpdesk. ...Catégorie: Gestion de parc
Licence: Freeware/gratuit
Plus de logiciels gratuits sur « requete sql »