Classement en PHP

slek22 Messages postés 19 Date d'inscription   Statut Membre Dernière intervention   -  
 coelho -
Bonjour, je code le site d'un amis et je suis rendu à la page du classement des membres mais la je sèche :( car le script qui me demande est vraiment complexe enfin, je trouve ;)
Donc en faite, il veux un classement dans un tableau à 4 colonne :
1ère : place
2ème : pseudo
3ème : inscrit le
4ème : points
Donc, ce classement, est bien sur dans un tableau ;) et pour chaque joueur il faut créer automatiquement une nouvelle ligne.
Ensuite, il ne veux que 100 lignes par page !
Et pour finir, la cerise sur le gateau :p si il y a égalité en points alors, c'est le joueur qui est inscrit depuis le plus longtemp qui prend la tête !!!

Donc moi, ça fait plus de 2 semaine que je travaille sur ce script et c'est en vin :(

J'aimerai savoir si quelqu'un aurait pu éssayer de me le coder :)

@ Bientôt

PS :oups, j'allais oublier de vous donner des infos utiles :

Pour commencer : la table à utiliser s'appelle : membres
et voici sont contenu :

CREATE TABLE `membres` (
`id` int(11) NOT NULL auto_increment,
`pseudo` varchar(40) NOT NULL,
`mot_passe` varchar(255) NOT NULL,
`confirmation` smallint(1) NOT NULL default '0',
`confirmation_code` varchar(20) NOT NULL,
`email` varchar(255) NOT NULL,
`note` text NOT NULL,
`points` bigint(20) NOT NULL default '0',
`or` bigint(20) NOT NULL default '5000',
PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=5 DEFAULT CHARSET=latin1 AUTO_INCREMENT=5 ;

ensuite, je ne sais pas si s'est utile mais il existe un session pour retenir le pseudo du membre et elle s'appaelle : pseudo ;)
A voir également:

12 réponses

TechAndCo Messages postés 252 Date d'inscription   Statut Membre Dernière intervention   20
 
Salut,

Fait une requete qui order par point DESC et par Date d'inscription (que je ne vois pas dans ta table).

Résultat, tu obtiens un classement des joueurs ayant e plus de points et le plus ancien.

A bientot.
1
Coelho
 
faut que tu le fasse en boucle genre while ou for
1
slek22 Messages postés 19 Date d'inscription   Statut Membre Dernière intervention  
 
D'une par, je n'arrive pas à inserer mais requette sql dans un tableau et d'autre par, même sans tableau et avec ce que tu m'as dit, je n'y arrive po :(
Qui peux éssayer de me faire ce script car j'y arrive vraiment pas :'(
0
TechAndCo Messages postés 252 Date d'inscription   Statut Membre Dernière intervention   20
 
Alors:
CREATE TABLE `membres` (
`id` int(11) NOT NULL auto_increment,
`pseudo` varchar(40) NOT NULL,
`mot_passe` varchar(255) NOT NULL,
`confirmation` smallint(1) NOT NULL default '0',
`confirmation_code` varchar(20) NOT NULL,
`email` varchar(255) NOT NULL,
`note` text NOT NULL,
`points` bigint(20) NOT NULL default '0',
`or` bigint(20) NOT NULL default '5000',
PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=5 DEFAULT CHARSET=latin1 AUTO_INCREMENT=5 ;

Ajoute une Date ou un Timestamp


la requete:
$requete = 'SELECT pseudo FROM membres ORDER BY points DESC, Date_inscription DESC';

Essais ça, si c'est pas dans le bon sens, met un ASC plutot que DESC.

0
slek22 Messages postés 19 Date d'inscription   Statut Membre Dernière intervention  
 
Bon ok mais je n'arrive toujours pas :'(
Donc voila les infos que je peux vous donner en plus :

La partie de la page web qui est traité :

<?php
// définition des variables
$pseudo = $_SESSION['pseudo'];

mysql_connect("", "", "");
mysql_select_db("admin");
$retour = mysql_query("SELECT COUNT(*) AS nbre_entrees FROM membres");
$donnees = mysql_fetch_array($retour);
?>

<fieldset><legend>Classement</legend><p><strong><center>
<a>Il y a <?php echo $donnees['nbre_entrees']; ?> membres au totale </a>
<table class="table">
<thead>
<th class="th">Place</th>
<th class="th">Pseudo</th>
<th class="th">Inscrit le</th>
<th class="th">Points</th>
</thead>
<tfoot>
<th class="th">Place</th>
<th class="th">Pseudo</th>
<th class="th">Inscrit le</th>
<th class="th">Points</th>
</tfoot>
</table>

</center> </strong></p>
</fieldset>

Voila, je n'ais réussit qu'a faire ça :(
0
TechAndCo Messages postés 252 Date d'inscription   Statut Membre Dernière intervention   20
 
Alors:

Tu fais ta requete comme jte l'ai indiqué:

$rek="SELECT pseudo FROM <tatable> ORDER BY Points DESC, Date_Inscription DESC LIMIT 1,3";

if ($rek2 = mysql_query($rek)) // test de la requete
{
$place =1;
while ($rek3 = mysql_fetch_array($rek2)
{
echo $place.' '.$rek3['pseudo'].'</br>';
$place +=1; //a tester sinon $place = $place + 1

} // ta boucle, tu inseres ici les éléments de ton tableau (td tr...) ou autre



} else {
echo 'Erreur dans la requète. </br>';

}


A bientot.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
slek22 Messages postés 19 Date d'inscription   Statut Membre Dernière intervention  
 
Uppppp !!! Quelqun peux éssayer de me faire se script SVP car je suis vraiment désespéré :'(
0
slek22 Messages postés 19 Date d'inscription   Statut Membre Dernière intervention  
 
Je débute en php alors se que vous me dite bin...o_0 c'est du chinois pour moi :(
Mais vous pouvez me faire ce script svp et modifié ce qu'il faut sur la table membres ;)
0
slek22 Messages postés 19 Date d'inscription   Statut Membre Dernière intervention  
 
UP !!! SVP, aidez moi :(
0
slek22 Messages postés 19 Date d'inscription   Statut Membre Dernière intervention  
 
UP, c'est pour un jeu en ligne et mon copain compte l'ouvrir d'ici 2 semaines !!! Il ne me reste encore quelques petit truc à faire mais le principale de ce qu'il me reste à faire, c'est cette page de classement !!! Donc la, j'envois un SOS au SUPERMAN de commentcamarche !!!
AU SECOURRRRRS !!! AIDEZ MOIIIIIIII !!! ^^
0
slek22 Messages postés 19 Date d'inscription   Statut Membre Dernière intervention  
 
Toujour personne qui veux m'aider ??? :(
0
slek22 Messages postés 19 Date d'inscription   Statut Membre Dernière intervention  
 
up
0
slek22 Messages postés 19 Date d'inscription   Statut Membre Dernière intervention  
 
UP
Mais je commence à désespéré :'(
0
slek22 Messages postés 19 Date d'inscription   Statut Membre Dernière intervention  
 
UPPPPPPPPPPPPPPPPPPPP
0
coelho
 
ca va etre compliqué de t'expliquer ca faut que tu ai des bases en php

mais en gros tu fait une requete dans ta base qui contient les scores

puis tu l'affiche avec une boucle genre while regarde les tutos y en a plein pour faire cela

tu devrais meme en trouver des toutes faites va sur phpcs.com ou developpez.com
0