[PHP] Classement en PHP avec points identique [Résolu/Fermé]

Signaler
Messages postés
102
Date d'inscription
lundi 24 janvier 2005
Statut
Membre
Dernière intervention
23 mars 2011
-
Messages postés
102
Date d'inscription
lundi 24 janvier 2005
Statut
Membre
Dernière intervention
23 mars 2011
-
Bonjour à tous,

Je voudrais faire un classement qui tienne compte du nombre de victoire identique

voici mon code

[c]$requete = "SELECT * FROM 'joueur' ORDER BY VICTOIRE DESC";
$resultat = requete( $requete );

$i=1;
while($data = mysql_fetch_array($resultat))
{
$query='UPDATE 'joueur' SET 'CLASSEMENT'='.$i.' WHERE 'ID'='.$data['ID'].'';
$result = mysql_query($query) or die(mysql_error());
$i=$i+1;
}


mysql_close()/c

Par contre ce script ne tient pas compte des égalités de points ?

j'avoue que je n'ai pas trop d'idée sur la question

voici un exemple:

Alain à 15 victoires --> il est le premier
Paul à 10 victoires --> il se trouve 2eme
Antoine à 10 vitoires --> il est également 2eme
Christophe à 8 victoires --> il est 4ème

voilà ce que j'aimerais avoir

Si quelqu'un à une idée

Merci d'avance

Osiris73

2 réponses

Messages postés
3019
Date d'inscription
samedi 13 janvier 2007
Statut
Membre
Dernière intervention
19 juin 2013
121
Je n'ai pas testé, il peut y avoir des erreurs, mais j'espère que tu comprendras mon intention et ma méthode... Et que tu sauras l'adapter à ta BDD ! ;-)

$requete = "SELECT * FROM 'joueur' ORDER BY VICTOIRE DESC";
$resultat = requete( $requete );

$lastScore = '';
$displayPos = 1;
$realPos = 1;

while($data = mysql_fetch_array($resultat)) {
	$joueur = $data['nom'];
	$currentScore = $data['score'];

	if ($currentScore != $lastScore) { $displayPos = $realPos; }
	$lastScore = $currentScore;

	print $joueur.' - '.$displayPos;
	$realPos++;
}

N'hésite pas si tu as des questions, j'imagine que ce n'est pas le script le plus clair du monde quant à ce qu'il est sensé faire ! :-S

J'ai fait ici que le résultat s'affiche par un print au lieu de mettre à jour la BDD. À toi d'adapter, ce n'est qu'une version "test" ;-)

Bonne chance !
2
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 76687 internautes nous ont dit merci ce mois-ci

Messages postés
102
Date d'inscription
lundi 24 janvier 2005
Statut
Membre
Dernière intervention
23 mars 2011
7
Super

Merci coeus pour ta réponse

C'est exactement ce qui me fallait

Merci encore

Osiris73