Problème pour faire un classement.

X_a_v_i_e_r
Invité n'ayant pas de compte PHPfrance

24 sept. 2005, 15:00

Bonjour à tous,

J'ai une problème avec ma base de donnée mysql : je n'arrive pas à faire de classement, numéroté d'une part, reprenant plusieurs autres colonnes, et cela dans un tableau, dans la même page, pourriez-vous m'aider ?

Exemple de colonne :
Nom | Age | Points

Le classement s'effectuerait donc en ordre décroissant, par la colonne point.

Actuellement je suis avec ce code :
$reponse = mysql_query ("SELECT `nom`, `age`, `points` FROM membre ORDER BY `points` DESC LIMIT 0,100");
$sql = mysql_fetch_array ($reponse);
$nom = $sql['nom'];
$age = $sql['age'];
$points = $sql['points'];

Je voudrais donc qu'il affiche les 100 premiers, classés par points. Mais malgré une lecture attentive de plusieurs tuto, j'arrive pas à récupérer tout cela dans un tableau plus bas dans la page, et cela avec un numéro de 1 à 100 dans la première colonne de tableau...

Helppppppppppppppppppp ça fait bientôt 3 semaines que je cherche :roll:

Merci de votre aide.

Mammouth du PHP | 19672 Messages

24 sept. 2005, 15:01

Fais voir le code de récupération, il ne manque sûrement pas grand chose ;)
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

X_a_v_i_e_r
Invité n'ayant pas de compte PHPfrance

24 sept. 2005, 15:06

Lol, j'ai honte de le montrer.

Aller, je me jette à l'eau ^^

Code : Tout sélectionner

<table width="500"><tr><td width="40" valign="top" align="center">ID</td><td width="210" valign="top" align="center">Royaume</td><td width="200" valign="top" align="center">Guilde</td><td width="50" valign="top" align="center">Classement</td></tr> <tr><td width="40" valign="top" align="center"><ol><li>&nbsp;</li></ol></td><td width="210" valign="top" align="center"><? echo "$nom1" ?></td><td width="200" valign="top" align="center"><? echo "$guilde" ?></td><td width="50" valign="top" align="center"><? echo "$classement" ?></td></tr></table>
Mais euh, je vois pas comment faire une boucle, car il me semble que c'est ça qu'il manque. J'arrive pas à voir comment la faire, même après lecture de vos tutos :oops:

XaV...

Eléphant du PHP | 80 Messages

24 sept. 2005, 15:10

Ouppssss, je me suis trompé de fichier là ^^

Code : Tout sélectionner

<table width="500"><tr><td width="40" valign="top" align="center">ID</td><td width="210" valign="top" align="center">Nom</td><td width="200" valign="top" align="center">Age</td><td width="50" valign="top" align="center">Points</td></tr> <tr><td width="40" valign="top" align="center"><ol><li>&nbsp;</li></ol></td><td width="210" valign="top" align="center"><? echo "$nom" ?></td><td width="200" valign="top" align="center"><? echo "$age" ?></td><td width="50" valign="top" align="center"><? echo "$points" ?></td></tr></table>
L'autre, c'était un test :wink:
XaV...
Webmaster des Larmes du Chaos

Mammouth du PHP | 19672 Messages

24 sept. 2005, 15:17

Il en manque de toutes façon un bout, les lignes PHP de récupération des données. ça, c'est juste un tableau avec des variables, ça ne m'aide pas des masses. Et soigne donc un peu la mise en page, c'est illisible comme ça. met quelques retours de ligne et une indentation dans ton code, ça sera nettement plus rapide pour voir l'erreur s'il y en a une.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

24 sept. 2005, 15:50

Salut, puisque tu est deja la dessus depuis plusieurs semaines je te propose ceci (d'apres les données que j'ai pu récupèrer sur les post :? ):
<table width="500">
<tr>
	<td width="40" valign="top" align="center">ID</td>
	<td width="210" valign="top" align="center">Nom</td>
	<td width="200" valign="top" align="center">Age</td>
	<td width="50" valign="top" align="center">Points</td>
</tr>
<?
$sql="SELECT `nom`, `age`, `points` FROM membre ORDER BY `points` DESC LIMIT 0,100";
$reponse = mysql_query ($sql);
$i=1;
while ($row = mysql_fetch_array ($reponse))
{
?>	
	<tr>
		<td width="40" valign="top" align="center">
			<?echo $i;?>
		</td>
		<td width="210" valign="top" align="center">
			<? echo $row['nom'] ?>
		</td>
		<td width="200" valign="top" align="center">
			<? echo $row['age'] ?>
		</td>
		<td width="50" valign="top" align="center">
			<? echo $row['points'] ?>
		</td>
	</tr>
<?
$i++;
}
?>
</table>

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

Eléphant du PHP | 80 Messages

24 sept. 2005, 17:59

Salut,

Waa, chapeau, j'y serais pas arrivé tout seul, ou alors, si, mais dans un futur pas proche lol. Merci, ton code a marché du premier coup. Tu m'as retiré une belle épine du pied (faisait mal à force :wink: ).

Bonne après-midi.

Edit : vu que j'ai commencé à écrire en anonyme, il ne me semble pas possible de mettre "résolu". Désolé...
XaV...
Webmaster des Larmes du Chaos