Page 1 sur 1

Comment créer un "top 5" ?

Posté : 24 août 2010, 08:36
par dexon
Bonjours,

Je voudrais savoir comment on fait un emplacement pour un top 5 ?

de ce genre :

Tegilock Top5

....| Pseudo | Nb de rebirth
#1 | Joueur1 | 50
#2 | Joueur2 | 40
#3 | Joueur3 | 30
#4 | Joueur4 | 20
#5 | Joueur5 | 10

Connection a la database : include 'includes/config.php';

nom des base de donnée :
Pseudo = name
Nb de rebirth = reborns

dans la table : characters

quelqu'un peux maider ? svp je ne sais même pas par où commencer lol :?

P.S. Je suis du type visuel donc apprend plus facilement en regardant les chose en explorant,etc.

Re: Comment créer un "top 5" ?

Posté : 24 août 2010, 08:53
par Nours312
donc, tu te connectes à la Bdd et en une requette (voir Unions)tu récupères les 5 résultats qui t'interesse (voir limit et where)

une fois obtenu, tu fais une boucle (while / foreach / for / ...) et à chaque boucle tu affiche un resultat !....

et voila, c'est fait !

Re: Comment créer un "top 5" ?

Posté : 24 août 2010, 09:12
par dexon
Non mais je voudrais que... hum comment l'expliquer...

bah de 1, je connais pas le php par cœur et comme je débute.....

je veux quelque chose qui va chercher les infos demandé de tout les character et vérifie ceux qui on le plus de reborns pour le mettre en haut de la liste en numéro 1 après c’est le second, etc.

Re: Comment créer un "top 5" ?

Posté : 24 août 2010, 09:18
par Berzemus
Ce n'est pas une question de Php, mais de Mysql. Regarde du côté du tri, avec "ORDER BY" en Mysql.

Re: Comment créer un "top 5" ?

Posté : 24 août 2010, 09:28
par dexon
ok j'ai fait ma recherche mais le probleme c'est que

SELECT * FROM charater ORDER BY reborns

affiche tout le rataplan....

ma table character ne contiens pas juste le name et le nb de reborns il contiens au moins 10 autres truques donc...


c’est possible de lui dire de juste sélectionner le name et reborns ?

Re: Comment créer un "top 5" ?

Posté : 24 août 2010, 09:38
par xTG
Avec ORDER tu peux spécifier le sens, donc tri par ordre décroissant comme cela tu auras les plus gros en haut.
Ensuite tu peux utiliser LIMIT pour spécifier au bout de combien d'enregistrement tu t'arrêtes.

Pour la sélection bien sûr... Tu n 'as pas du chercher loin. ^^
Il suffit de mettre le nom des champs à la place de l'étoile qui veut dire "tout".

Re: Comment créer un "top 5" ?

Posté : 24 août 2010, 09:41
par dexon
ah lol oui merci de me le rappeler ! que je suis bête ^.^

c’est quoi le truque de LIMIT ?

comme sa ? :

SELECT name,reborns FROM charater ORDER BY reborns LIMIT 5

Re: Comment créer un "top 5" ?

Posté : 24 août 2010, 09:48
par xTG
Jackpot. =D>
Ou presque, car actuellement tu as les 5 derniers. :)

Re: Comment créer un "top 5" ?

Posté : 24 août 2010, 10:02
par dexon
les 5 dernier ???



sa c’est correct ? :

SELECT name,reborns FROM charater ORDER BY reborns DESC LIMIT 5


et une fois assemblé sa denerais :
<?php

include 'includes/config.php';
$result = mysql_query("SELECT name,reborns FROM charater ORDER BY reborns DESC LIMIT 5") 
or die(mysql_error());  

echo "<table border='1'>";
echo "<tr> <th>Name</th> <th>Reborns</th> </tr>";
while($row = mysql_fetch_array( $result )) {
	echo "<tr><td>"; 
	echo $row['name'];
	echo "</td><td>"; 
	echo $row['reborns'];
	echo "</td></tr>"; 
} 

echo "</table>";
?>
mais comment je rajoute les chifre 1. NOM, 2. Nom2, 3. NOM, etc. ?

Re: Comment créer un "top 5" ?

Posté : 24 août 2010, 11:10
par xTG
$i = 1;
while($row = mysql_fetch_array( $result )) {
        echo "<tr><td>";
        echo $i . ". " . $row['name'];
        echo "</td><td>";
        echo $row['reborns'];
        echo "</td></tr>";
        $i++;
} 

Re: Comment créer un "top 5" ?

Posté : 24 août 2010, 20:24
par dexon
Merci :D