JeuWeb - Crée ton jeu par navigateur
[Résolu] Classement...mal classé ? - Version imprimable

+- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org)
+-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38)
+--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51)
+--- Sujet : [Résolu] Classement...mal classé ? (/showthread.php?tid=3566)



[Résolu] Classement...mal classé ? - Akis - 20-01-2009

Salut !

Une petite question de débutant... enfin, je crois, parce que je n'es eu aucune réponse des autres forumé

Je fais une petit classement des 10 membres les plus riches..
Cependant, c'est mal classé, voici un exemple de comment c'est classé ;

1 - admin avec 80 $
2 - admin2 avec 17.31 $
3 - lol avec 100 $

On dirait bien que le classement ce fait par ID...
Par contre dans mon code, je veux bien le classé par le montant d'argent (plus riche ou moins riche)

Voici le code :
Code PHP :
<?php
$position_r
= "";

$resultat = mysql_query("SELECT * FROM membre ORDER BY argent LIMIT 0, 10");
while(
$donnees=mysql_fetch_assoc($resultat))
{
?>
<?php $position_r++; echo $position_g; ?> - <?php echo $donnees['login']; ?> avec <?php echo $donnees['argent']; ?> $<br />
<?php
}
?>

Merci, a+.


RE: Classement...mal classé ? - Argorate - 20-01-2009

Salut Wink

Tu incrémentes une variable que tu initialise avec "" au lieu de faire $position_r = 0; ... c'est peut etre de là que vien ton erreur? mais suis pas sur.

EDIT: sinon c'est pas plus mal de ne pas perdre de temps a ouvrir/fermer php et utiliser plusieur fois la fonction echo...

tu peux simplifier:
Code PHP :
<?php 
echo $position_g.' - '.$donnees['login'].' avec '.$donnees['argent'].'<br />';



RE: Classement...mal classé ? - Akis - 20-01-2009

Waw, réponse rapide ^^

Je crois que c'était la cause du problème Smile
Car, ça a l'aire à bien fonctionner
Merci, et merci pour la simplification Wink


RE: Classement...mal classé ? - wild-D - 20-01-2009

nan moi j'ai une question à 2 balles (vu les valeurs que t'as pour argent, des entier et des décimaux)

par hasard ton champs argent ce serait pas un VARCHAR au lieu d'un INT/FLOAT?
donc l'ordre que tu as est p-e correcte; puisque c'est "l'ordre du VARCHAR (alphabétique)" et pas l'ordre numéraire Tongue


RE: Classement...mal classé ? - Argorate - 20-01-2009

Oui j'avais pas vu, fait attention si tu travails avec des float et des int en meme temps Wink
mais je vois pas pourquoi il aurait utilisé du VARCHAR ici?

ps: "numéraire" ça existe ça? c'est pas plutot numérique? ^^


RE: Classement...mal classé ? - wild-D - 20-01-2009

son champs est p-e un float; mais vu l'erreur qu'il décrit et l'ordre affiché pour le tri^^ ça pue un ordre alphabétique au lieu d'un tri numérique. (y avait effectivement un lapsus sur le mot; mais c'est français numéraire ^^ -> numéraire)

erreur de débutant ? ... pourquoi utiliser un INT ou autre champ, alors qu'en mettant systématiquement tout en VARCHAR, c'est trop fort je peux enregistrer ce que je veux. (jusqu'au jour ou tu veux demander à mysql de faire des traitements sur tes champs... et là tu découvre que t'étais pas si fort que ça Big Grin)


RE: [Résolu] Classement...mal classé ? - sulu_03 - 22-01-2009

Oui mais pour les bourrins bovins, il y a la possibilité de multiplier le champ a trier par 1 (*1) et ça convertit le type en numérique :p