Page 1 sur 1

Affichage position classement

Posté : 11 août 2014, 20:52
par VeenZ
Bonsoir,

J'ai un petit problème lors de l'affichage de la position d'un topsite dans mon classement en fonction du nombre de votes ,

bien évidemment afficher la position avec une simple boucle qui s'incrémente de 1 à chaque tour reste facile , le problème survient quand plusieurs topsites ont le

même nombre de votes ::


Imaginons ( Topsite x = 3 votes, Topsite y = 3 votes , Topsite = 4 votes )

je ne vais pas leur mettre la meme position mais je veux définir leur position avec un autre param pris en compte : nb de clic sortant que je stocke aussi en bdd

Imaginons ( Topsite x = 3 votes, 4 clic sortants ; Topsite y = 3 votes , 89 clic sortants ; Topsite k = 3 votes ; 67 clics sortants )

Donc on obtient : 1er topsite y , 2eme : topsite k 3 , 3eme : topsite x )

Bref je pense que vous avez compris ::

Nom des champs de ma bdd :

point ( nb de vote )
nb_clic' ( nb clic sortant )
'game ( par exemple Autres , Catégorie du topsite ) je dois afficher le position du classement par rapport aux autres sites de la catégorie du topsite


La page ou je dois afficher la position ::

http://king-rpg.com/infos/heroes-wow-5- ... eAJDg.html


Comment puis je en PHP générer la position en fonction du nb de votes , avec les clic sortants qui sont pris en compte si meme nb de votes ?


Merci
:)

Re: Affichage position classement

Posté : 11 août 2014, 22:17
par toytoy
SELECT * FROM ta_table ORDER BY point, nb_clic et si tu veux faire un classement par game tu mets game avant les autres; SELECT * FROM ta_table ORDER BY game, point, nb_clic (voir la doc si jamais)

Re: Affichage position classement

Posté : 12 août 2014, 13:40
par VeenZ
J'ai tenté cela :

	
	$resultat = mysql_query("select * FROM top WHERE point <= '$point' AND WHERE game='$game' ORDER by point DESC , nb_clic DESC ");

         $k=1;
	
	 while($ligne = mysql_fetch_array($resultat))	
		
		{
		
	   $k++;
	   
		}
        // Position ==> $k


Mais bon ca marche pas ca affiche n'importe quoi comme position


Cliquez sur un topsite ici http://king-rpg.com/top-Autres-Rank-1.html et voyez la position

Re: Affichage position classement

Posté : 12 août 2014, 16:59
par toytoy
si game est de type string utilise LIKE à la place de l'égalité
$requete = 'SELECT * FROM top WHERE point<="'.$point.'" AND game="'.$game.'" ORDER BY point DESC, nb_clic DESC';
$resultat = mysql_query($requete);
Ensuite si tu veux voir combien de résultats sont retournés il y a cette fonction < mysql_num_rows ($resultat) >

Si tu pouvais apporté un peu de clarté dans ce que tu veux exactement, car sur ton site, les résultats sont correctes

Re: Affichage position classement

Posté : 12 août 2014, 19:37
par VeenZ
tu peux m'add skype ( jackzz.oo ) stp c'est urgent

Re: Affichage position classement

Posté : 12 août 2014, 20:02
par toytoy
Pour la position quand tu fais une vue profil serveur
$nomServ; //le nom du serveur choisi

$requete = 'SELECT name FROM top WHERE point<="'.$point.'" AND game LIKE '.$game.'" ORDER BY point DESC, nb_clic DESC';
$resultat = mysql_query($requete);
$k=1;
while($ligne = mysql_fetch_array($resultat) && $ligne["name"] != $nomServ)   
 {
           $k++;
           //position du serv classement
                }