Affichage requete SQL

Résolu
darkwisk Messages postés 42 Date d'inscription mardi 25 octobre 2005 Statut Membre Dernière intervention 1 décembre 2008 - 25 juin 2007 à 16:46
clio2455 Messages postés 4 Date d'inscription mardi 17 avril 2007 Statut Membre Dernière intervention 3 avril 2008 - 3 avril 2008 à 12:25
Bonjour à tous,

Voilà mon problème : j'ai une requete qui me renvoi ça :

Paul : 2
Pierre : 7
Jacques : 0

Voilà mon code :

$res = mysql_query("SELECT * FROM utilisateurs");
while($util = mysql_fetch_array($res))
{
$utilisateur = $util['identifiant'];



$sql = mysql_query("SELECT COUNT(*) AS nb_resultats FROM stats WHERE utilisateur='$utilisateur'");
$frm = mysql_fetch_array($sql);



echo $utilisateur." : ".$frm['nb_resultats']."
";
}

mais je voudrais en faite afficher seulement le résultat le plus grand
c'est à dire ......Pierre : 7 
Après beaucoup de recherche sur internet je n'est pas trouver de solutions
je pense qu'il faut que je modifie m'a requete SQL mais je ne vois pas comment
faire......si quelqu'un a une idée, n'hésiter pas !!!

16 réponses

cs_sebastien_et_typh Messages postés 289 Date d'inscription jeudi 5 octobre 2006 Statut Membre Dernière intervention 11 juin 2010 3
25 juin 2007 à 19:22
j'ai oublier des s je te la remet :
select utilisateurs.utilisateur , count(*) as result from utilisateurs,
stats where utilisateurs.utilisateur=stats.utilisateur group by
utilisateurs.utilisateur order by result desc


Personne ne peut se permettre de juger l'autre....
3
cs_sebastien_et_typh Messages postés 289 Date d'inscription jeudi 5 octobre 2006 Statut Membre Dernière intervention 11 juin 2010 3
25 juin 2007 à 18:01
tu peux soit utiliser la fonction MAX de mysql mais je ne sais pas si c'est valable avec un COUNT sinon tu peux classer tes resultat par ordre decroissant et ne garder que le premier :
$sql = mysql_query("SELECT COUNT(*) AS nb_resultats FROM stats WHERE utilisateur='$utilisateur' ORDER BY nb_resultats DESC");
$frm = mysql_fetch_array($sql);

j'espere que ca t'aideras


Personne ne peut se permettre de juger l'autre....
0
darkwisk Messages postés 42 Date d'inscription mardi 25 octobre 2005 Statut Membre Dernière intervention 1 décembre 2008
25 juin 2007 à 18:12
merci pour ta réponse "sebastien_et_typh", mais a priori ça ne fonctionne pas dans ce cas.
0
cs_sebastien_et_typh Messages postés 289 Date d'inscription jeudi 5 octobre 2006 Statut Membre Dernière intervention 11 juin 2010 3
25 juin 2007 à 18:15
quelle methode ne fonctionne pas?ta table utilisateur a combien de champ?


Personne ne peut se permettre de juger l'autre....
0

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

Posez votre question
darkwisk Messages postés 42 Date d'inscription mardi 25 octobre 2005 Statut Membre Dernière intervention 1 décembre 2008
25 juin 2007 à 18:20
Ma table utilisateur contient 3 entrée "Paul, Pierre, Jacques", et ce qui
ne fonctionne pas c'est le "ORDER BY nb_resultats DESC" ça me retourne
les résultats toujours dans le même ordre... 
0
cs_sebastien_et_typh Messages postés 289 Date d'inscription jeudi 5 octobre 2006 Statut Membre Dernière intervention 11 juin 2010 3
25 juin 2007 à 18:26
si j'ai bien compris ce que tu veux faire c'est compter toutes les ligne d'un meme utilisateur dans ta table utilisateur?


Personne ne peut se permettre de juger l'autre....
0
cs_sebastien_et_typh Messages postés 289 Date d'inscription jeudi 5 octobre 2006 Statut Membre Dernière intervention 11 juin 2010 3
25 juin 2007 à 18:27
de ta table stat desoler j'avais pas vu mais c'est bien ca que tu cherche a faire?


Personne ne peut se permettre de juger l'autre....
0
darkwisk Messages postés 42 Date d'inscription mardi 25 octobre 2005 Statut Membre Dernière intervention 1 décembre 2008
25 juin 2007 à 18:30
Oui c'est bien bien ça, et je veux afficher celui qui a le plus de résultats.
0
cs_sebastien_et_typh Messages postés 289 Date d'inscription jeudi 5 octobre 2006 Statut Membre Dernière intervention 11 juin 2010 3
25 juin 2007 à 19:18
tu a essayer le order by sans les apostrophes car mois j'ai fais une requete du style select count(*) as nb from table order by nb desc et ca fonctionne tres bien c'est bizarre que ca ne te trie pas les resultat


Personne ne peut se permettre de juger l'autre....
0
cs_sebastien_et_typh Messages postés 289 Date d'inscription jeudi 5 octobre 2006 Statut Membre Dernière intervention 11 juin 2010 3
25 juin 2007 à 19:21
et si tu essaye :

select utilisateur.utilisateur , count(*) as result from utilisateur, stats where utilisateur.utilisateur=stats.utilisateur group by utilisateur.utilisateur order by result desc


Personne ne peut se permettre de juger l'autre....
0
darkwisk Messages postés 42 Date d'inscription mardi 25 octobre 2005 Statut Membre Dernière intervention 1 décembre 2008
25 juin 2007 à 19:35
Ta requete me semblais bien mais elle me renvoie 8 au lieu de 7 ???
0
darkwisk Messages postés 42 Date d'inscription mardi 25 octobre 2005 Statut Membre Dernière intervention 1 décembre 2008
25 juin 2007 à 19:53
Désolé c'est de ma faute Merci beaucoup ça fonctionne....
0
cs_sebastien_et_typh Messages postés 289 Date d'inscription jeudi 5 octobre 2006 Statut Membre Dernière intervention 11 juin 2010 3
25 juin 2007 à 20:02
ok c'est cool pour toi...
mais j'ai une question tu a prevu le cas ou il y a des egalite


Personne ne peut se permettre de juger l'autre....
0
darkwisk Messages postés 42 Date d'inscription mardi 25 octobre 2005 Statut Membre Dernière intervention 1 décembre 2008
26 juin 2007 à 11:34
Oui en faite j'ai fais une boucle qui m'affiche ensuite le nom de celui ou de ceux qui
on un total qui correspondent à ma requete.....

Merci encore.
0
rethenor Messages postés 48 Date d'inscription mercredi 11 juillet 2007 Statut Membre Dernière intervention 9 mai 2011
26 juil. 2007 à 17:35
J'ai pas essayé mais ça devrait pouvoir marcher...

$seuil = 0;
$txtresult = "Pas de résultat";



$res = mysql_query("SELECT * FROM utilisateurs");
while($util = mysql_fetch_array($res))
{



 $utilisateur = $util['identifiant'];
 $sql = mysql_query("SELECT COUNT(*) AS nb_resultats FROM stats WHERE utilisateur='$utilisateur'");
 $frm = mysql_fetch_array($sql);
 if ($frm['nb_resultats']>=$seuil)
 {
  $seuil = $frm['nb_resultats'];
  $txtresult = $utilisateur." : ".$frm['nb_resultats'];
 }
}
echo $txtresult."
";
0
clio2455 Messages postés 4 Date d'inscription mardi 17 avril 2007 Statut Membre Dernière intervention 3 avril 2008
3 avril 2008 à 12:25
j'ai un formulaire de reclamation je cherche à savoir comment afficher le nombre de reclamation dans un tableau  à partir de base mysql
0
Rejoignez-nous