Requete pour afficher les meilleurs

Résolu
cs_neovalpox Messages postés 48 Date d'inscription mardi 4 mai 2004 Statut Membre Dernière intervention 22 novembre 2007 - 7 mars 2005 à 11:41
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 - 8 mars 2005 à 16:26
Bonjours à tous !

Bon voila j'explique mon problème : je souhaiterai afficher les 3 membres qui possède le plus de points sur mon site.

je ne sais pas quel requete utiliser... mais les point son comptabiliser dans la table "membres" / champ "score" et je dois afficher en fait ce qui on le plus de point en commançant par :

le 1er
le 2ème
le 3ème

Si qqun saurait comment je pourrai manager sa.

Merci d'avance et A+

http://neovalpox.dyndns.org

34 réponses

Viper31 Messages postés 96 Date d'inscription mardi 2 avril 2002 Statut Membre Dernière intervention 7 août 2005
7 mars 2005 à 15:13
le probleme vient de cetet partie la



while($nb=mysql_fetch_object($res));



{
echo '';
echo $nb['pseudo'].'&nbsp'.$nb['score'];
echo '';
}


essaye en enlevant le ; a la fin de ton while ca devrait donner ca :






while($nb=mysql_fetch_array($res)) {




echo '';


echo $nb['pseudo'].'&nbsp'.$nb['score'];


echo '

';





}


effet garantie !!!!
3
cs_frop01 Messages postés 1352 Date d'inscription lundi 27 octobre 2003 Statut Membre Dernière intervention 19 novembre 2008 2
7 mars 2005 à 12:14
salut



select score from membres order by score desc

[mailto:cyberscorp2004@msn.com MSN] [mailto:frop01@yahoo.fr YAHOO]

Membre du club CodeS-SourceS
0
cs_frop01 Messages postés 1352 Date d'inscription lundi 27 octobre 2003 Statut Membre Dernière intervention 19 novembre 2008 2
7 mars 2005 à 12:15
utilises LIMIT 1,3 pour selectionner que les trois premières records

[mailto:cyberscorp2004@msn.com MSN] [mailto:frop01@yahoo.fr YAHOO]

Membre du club CodeS-SourceS
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
7 mars 2005 à 12:41
Hello,

LIMIT 0,3 ou LIMIT 3
plutot.

LIMIT 1,3 va afficher les resultats de 2 a 4.
0

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

Posez votre question
cs_neovalpox Messages postés 48 Date d'inscription mardi 4 mai 2004 Statut Membre Dernière intervention 22 novembre 2007
7 mars 2005 à 12:59
Voila mon scritp (il ne marche pas encore je sais pas pk) :

<?php
$db = mysql_connect('********','********','********') or die ("erreur de connexion");

mysql_select_db('membres',$db) or die ("erreur de connexion base");


$req='SELECT score FROM membres ORDER BY score DESC';
$res=mysql_query($req) or die ("erreur requête");
$nb=mysql_fetch_array($res);


{
echo ;
echo $nb;
echo ;
}
?>
0
cs_neovalpox Messages postés 48 Date d'inscription mardi 4 mai 2004 Statut Membre Dernière intervention 22 novembre 2007
7 mars 2005 à 13:00
Voila mon scritp (il ne marche pas encore je sais pas pk) :

<?php
$db = mysql_connect('********','********','********') or die ("erreur de connexion");

mysql_select_db('membres',$db) or die ("erreur de connexion base");


$req='SELECT score FROM membres ORDER BY score DESC';
$res=mysql_query($req) or die ("erreur requête");
$nb=mysql_fetch_array($res);


{
echo "";
echo $nb;
echo "";
}
?>
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
7 mars 2005 à 13:10
hello,
corrections sur ces lignes :

$req='SELECT score FROM membres ORDER BY score DESC LIMIT 3';

echo $nb['score'];

sans compter le html...mais bon, ca je n'ai pas envie! En bref : strong, font...a bannir (balises depreciees).
0
cs_neovalpox Messages postés 48 Date d'inscription mardi 4 mai 2004 Statut Membre Dernière intervention 22 novembre 2007
7 mars 2005 à 13:19
bon j'ai essayer avec les corrections que tu m'a donné mais en vain. il me dis que c'est une erreur de requete.

Meme en enlevant les balise HTML sa ne change rien.
0
cs_neovalpox Messages postés 48 Date d'inscription mardi 4 mai 2004 Statut Membre Dernière intervention 22 novembre 2007
7 mars 2005 à 13:21
a non j'ai rien dis. now sa marche (erreur de ma pars dans le nom de la table) mais il m'affiche uniquement le score le plus élevé. et non pas celui des 3 joueur les plus fort... qqun aurai une solution ?
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
7 mars 2005 à 13:27
Essaye ca ptete :

$req='SELECT score FROM membres LIMIT 3 ORDER BY score DESC';

mais je doute....il n' y a pas de raison qu'il ne recupere que le 1er enregistrement.
0
cs_neovalpox Messages postés 48 Date d'inscription mardi 4 mai 2004 Statut Membre Dernière intervention 22 novembre 2007
7 mars 2005 à 13:30
non sa ne marche toujours pas. il ne me récupere uniquement le premier enregistrement.
0
cs_neovalpox Messages postés 48 Date d'inscription mardi 4 mai 2004 Statut Membre Dernière intervention 22 novembre 2007
7 mars 2005 à 13:31
meme si j'enlève la partie "LIMIT 3" sa ne change rien.
0
cs_neovalpox Messages postés 48 Date d'inscription mardi 4 mai 2004 Statut Membre Dernière intervention 22 novembre 2007
7 mars 2005 à 13:44
et lorsque je change le chiffre après LIMIT (exemble "LIMIT 2") il ne m'affiche pas le meme enregistrement.


J'ai modifier ma requete comme ceci :

'SELECT pseudo,score FROM fk_membres ORDER BY score DESC LIMIT 3'
// pour selectionner le pseudo , puis le score du membre

echo $nb['pseudo'];
echo "&nbsp";
echo $nb['score'];
// pour afficher le pseudo avec un espace, puis le score du membre

mais sur ma page il ne m'affiche que le membres avec le plus de point... je ne comprend pourquoi.

Si qqun peu m'aider la dessus.
0
tucsoufle Messages postés 1250 Date d'inscription mardi 15 juillet 2003 Statut Membre Dernière intervention 30 septembre 2007 1
7 mars 2005 à 13:45
salut,

il faut faire une boucle while
essai ça :

<?php
$db = mysql_connect('********','********','********') or die ("erreur de connexion");

mysql_select_db('membres',$db) or die ('erreur de connexion base');


$req='SELECT score FROM membres ORDER BY score DESC LIMIT 3';
$res=mysql_query($req) or die ("erreur requête");
while($nb=mysql_fetch_array($res))


{
echo '';
echo $nb;
echo '';
}
?>

et comme t'a dit malalam (que je salut au passage), met toi aux normes

Je te donne une idée, tu me donnes une idée, nous avons chacun deux idées.
Mon site Internet
0
cs_neovalpox Messages postés 48 Date d'inscription mardi 4 mai 2004 Statut Membre Dernière intervention 22 novembre 2007
7 mars 2005 à 13:48
erf meme avec la boucle while sa ne marche pas... je sais vraiment plus quoi faire...
0
tucsoufle Messages postés 1250 Date d'inscription mardi 15 juillet 2003 Statut Membre Dernière intervention 30 septembre 2007 1
7 mars 2005 à 13:48
euh, pardon, le code avec le changement de ta requete

<?php
$db = mysql_connect('********','********','********') or die ("erreur de connexion");

mysql_select_db('membres',$db) or die ('erreur de connexion base');


$req='SELECT pseudo,score FROM fk_membres ORDER BY score DESC LIMIT 3';
$res=mysql_query($req) or die ("erreur requête");
while($nb=mysql_fetch_array($res))


{
echo '';
echo $nb['pseudo'].'&nbsp'.$nb['score'];

echo '';
}
?>


voila, maintenant ca devrait fonctionner

@+

Je te donne une idée, tu me donnes une idée, nous avons chacun deux idées.
Mon site Internet
0
tucsoufle Messages postés 1250 Date d'inscription mardi 15 juillet 2003 Statut Membre Dernière intervention 30 septembre 2007 1
7 mars 2005 à 13:49
ca te met quoi comme erreur ?

Je te donne une idée, tu me donnes une idée, nous avons chacun deux idées.
Mon site Internet
0
cs_neovalpox Messages postés 48 Date d'inscription mardi 4 mai 2004 Statut Membre Dernière intervention 22 novembre 2007
7 mars 2005 à 13:51
ben avec la boucle while il ne m'affiche rien du toute.

si jamais c'est sur http://neovalpox.dyndns.org/ puis une fois que tu es inscrit tu vas dans le menu c'est ecrit les 3 meilleurs membres.
0
tucsoufle Messages postés 1250 Date d'inscription mardi 15 juillet 2003 Statut Membre Dernière intervention 30 septembre 2007 1
7 mars 2005 à 14:01
ben ta quelque truc a revoir sur ton site lol

quand on se trompe dans l'inscription y a des messages d'erreur

une page erreur 404 quand on se logue mal

bref va falloir faire quelque chose a mon avis


essai avec la clause WHERE ta requete !!!

comme ceci :

$req='SELECT pseudo,score FROM fk_membres WHERE 1 ORDER BY score DESC LIMIT 3';

si ce n'est pas ça, test la requete directement dans phpmyadmin ou autre

pour voir si elle est bonne


Je te donne une idée, tu me donnes une idée, nous avons chacun deux idées.
Mon site Internet
0
tucsoufle Messages postés 1250 Date d'inscription mardi 15 juillet 2003 Statut Membre Dernière intervention 30 septembre 2007 1
7 mars 2005 à 14:04
et tu a aussi oublié le point virgule a la fin de ton &nbsp;

Je te donne une idée, tu me donnes une idée, nous avons chacun deux idées.
Mon site Internet
0
Rejoignez-nous