Page 1 sur 1
Ranger une base de donnée
Posté : 08 mars 2005, 02:05
par Invité
Bonjour,
voila je cherche la technique la moins lourde classer de client en fonction de leur points (de préférence par ordre décroissant). J ai dans ma BDD SQL (entre autres) une colonne nom et une colonne points
je fais donc ceci
$req = "SELECT nom, points FROM tbl_user";
$result = mysql_query($req);
mais ensuite je ne sais pas trop comment classer le tableau en fonction du nombre de point... je pourrait donner a un tableau les differente valeur de point, le classer sans remettre les $key dans l ordre et ensuite reconstruire un tableau pour les noms a partir des $key en désordre...
ya pas plus simple ?
Re: Ranger une base de donnée
Posté : 08 mars 2005, 02:20
par albat
Oh que si !
$req = "SELECT nom, points FROM tbl_user ORDER BY points DESC";
Posté : 08 mars 2005, 02:43
par Invité
héhé merci bien

Posté : 08 mars 2005, 02:55
par Invité
euh j ai un petit probleme encore (oui je sais faut que j aprenne la gestion des bdd SQL

)
voila j aai fait ce que tu as dit et ensuite j ai complété ainsi :
$result=mysql_query("SELECT pseudo, points FROM joueurs ORDER BY points DESC");
$result=mysql_fetch_array($result);
print_r($result);
et la ca me sort
Array ( [0] => nom1 [pseudo] => nom1 [1] => 3155.8571428571 [points] => 3155.8571428571 )
Hors j ai deux inscri dans ma bdd... pourquoi ne m en sort il qu un ?
Posté : 08 mars 2005, 04:27
par Hubert Roksor
...parce que tu n'en as demandé qu'un ?
mysql_fetch_array() ne renvoit qu'un enregistrement, il faut l'appeler autant de fois que d'enregistrements. Voir
la doc.
Posté : 08 mars 2005, 13:59
par Invité
d'accord... ya t il alors une solution pour récupérer les données dans un tableau sans faire de boucle ?
Posté : 08 mars 2005, 14:31
par flitox
Comment veux-tu parcourir une base de données sans boucle si tu as besoin de trouver plusieurs enregistrements?
Posté : 08 mars 2005, 15:00
par albat
ya t il alors une solution pour récupérer les données dans un tableau sans faire de boucle ?
Non.
Et d'ailleurs, quel en serait l'intérêt ?

Posté : 08 mars 2005, 18:24
par Invité
ok donc si j ai bien compris le seul moyen de récupérer le classement d'une personne c'est de faire ainsi ?
$result=mysql_query("SELECT pseudo, points FROM joueurs ORDER BY points DESC");
$i=1;
while ($row = mysql_fetch_array($result, MYSQL_NUM)) {
$var[$row[0]]=$i++;
}
echo $var[$pseudo];
Posté : 09 mars 2005, 12:06
par mere-teresa
Chacun fait ses boucles comme il le souhaite, et ta manière me semble un peu complexe :
while ($ligne=mysql_fetch_object($result)) {
$tabResult[$i]['titre']=$ligne->titre;
...
}