select(max)

Eléphanteau du PHP | 25 Messages

14 août 2016, 01:06

Bonjour, je veux selectionner et afficher le pseudo du membre qui à le plus de "moneyr" sur mon site.
J'ai pensé au code suivant:

Code : Tout sélectionner

$resultats=$bdd->query("SELECT max(moneyr), pseudo FROM membres"); $resultats->setFetchMode(PDO::FETCH_OBJ); while( $resultat = $resultats->fetch() ) { echo 'Utilisateur : '.$resultat->pseudo.'<br>'; } $resultats->closeCursor();
$bdd équivaut à ma connexion en PDO !

Le résultat affiche bien un utilisateur mais ce n'est pas le bon, quesque qu'il ne va pas dans mon code?? MERCI!

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

14 août 2016, 14:15

Bonjour,

Teste ta requête dans phpmyadmin, et tu verras qu'elle ne correspond pas à ce que tu veux.

Pour ton besoin, la solution c'est de classer (avec ORDER BY) par ordre de moneyr décroissant et de ne demander que le 1er résultat (avec la clause LIMIT 1)
Quand tout le reste a échoué, lisez le mode d'emploi...