une position dans un classement !

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : une position dans un classement !

par Truc » 30 déc. 2006, 19:22

Modération :
Puisque ta question est résolue, j'ajoute le tag [Résolu]
pour indiquer aux personnes qui voudront consulter ce sujet qu'il contient une solution.

Tu peux réaliser cette opération toi-même
en cliquant sur le bouton [Mettre Résolu] qui s'affiche en haut à gauche de ce sujet
si tu as posté le 1er message en tant que membre (inscrit et identifié). ;)

par jojolapine » 30 déc. 2006, 17:54

derien ;-)
on laissera à un modérateur le soin de mettre [résolu]

par Invité » 30 déc. 2006, 17:51

:lol:

Rien ne me gene au contraire...

J'avait pas trop compris :oops:

Un grand merci pour ton aide :wink:

par jojolapine » 30 déc. 2006, 17:44

ben il suffit de rajouter 1 au résultat, et tu as ta position.... qu'ets-ce qui te gène... ?

par Invité » 30 déc. 2006, 17:38

En faisant ca :
SELECT COUNT(*) FROM membres WHERE rond >(SELECT rond FROM membres WHERE pseudo='$pseudo')";  
Cette requete sélectionne tout les membres qui ont un score (rond) supérieur a $pseudo !

Voilà pourquoi il m'affiche 0 du faite que j'ai le score le plus haut pour mes essai !

Et si j'inverse > par < , il m'affiche 2 car j'ai 2 membres inférieur au score le plus haut !

Donc,ce n'est pas ca pour afficher la position :(

par jojolapine » 30 déc. 2006, 17:34

Je vient d'essayer !

résultat : En faite,on demande au script de compter le nombre de membre qui ont un score inférieur au membre identifier !
tu m'expliques là :shock:

par Invité » 30 déc. 2006, 17:32

Je vient d'essayer !

résultat : En faite,on demande au script de compter le nombre de membre qui ont un score inférieur au membre identifier !

par jojolapine » 30 déc. 2006, 17:24

essaye de faire fonctionner cette requête déja

Code : Tout sélectionner

SELECT rond FROM membres WHERE pseudo='$pseudo'
va dans phpmyadmin par exemple, et fait des essais, si elle marche, alors essaye les deux requêtes ensembles

par Invité » 30 déc. 2006, 17:22

j'ai donc fait :
print_r ($aqd);
et là,j'ai un truc bizarre :
Array ( [0] => 0 [COUNT(*)] => 0 )
Et je fait :
$essai = $aqd['COUNT(*)'];
Il m'affiche 0

par jojolapine » 30 déc. 2006, 17:14

c'est normal, essaye plutôt print_r pour connaitre le contenu de $aqd

par Invité » 30 déc. 2006, 17:09

Je vient de faire cela :
<?php 
$poi ="SELECT COUNT(*) FROM membres WHERE rond >(SELECT rond FROM membres WHERE pseudo='$pseudo')"; 
$asy = mysql_query ($poi) or die('Erreur SQL !<br />'.$poi.'<br />'.mysql_error());
$aqd = mysql_fetch_array($asy);
$plo = $aqd;
?>
<?php echo $aqd ?>
Et cela m'écrit : Array !

par jojolapine » 30 déc. 2006, 17:02

essaye quelquechose comme ceci:
$poi ="SELECT COUNT(*) FROM membres WHERE rond >(SELECT rond FROM membres WHERE pseudo='$pseudo)";

par Invité » 30 déc. 2006, 16:58

J'ai la version : 4.1.11

En faite,je ne veut pas enregistrer le classement mais seulement afficher sur une page la position par rapport a son nombre de "rond" !

Par exemple , Vous êtes en 1 ere position avec 499 rond !

par jojolapine » 30 déc. 2006, 16:53

dans ton code, tu as une erreur, il manque un " à la fin de la première requête
ensuite,
je ne comprend pas trop avec quel critère tu souhaites trier tes membres ?
Les membres ayant le plus de rond sont les meilleurs c'est ça ?

ps: quelle version de mysql as-tu?

par Invité » 30 déc. 2006, 16:21

Bon,j'ai commencer a faire un ptit code mais y'a des erreurs :
<?php
$pio ="SELECT rond FROM membres WHERE pseudo='$pseudo'; 
$poi ="SELECT COUNT(*) FROM membres WHERE rond >'$rond'; 
$asf = mysql_query ($pio) or die('Erreur SQL !<br />'.$pio.'<br />'.mysql_error());
$agt = mysql_query ($poi) or die('Erreur SQL !<br />'.$poi.'<br />'.mysql_error());
$asv = mysql_fetch_array($agt, $asf);
$lmp = $asv;
?>
C'est presque comme ca mais j'ai franchement besoin d'aide !

La 1ere requete regarde combien de rond a le membre identifier, puis la seconde requete regarde le nombre de rond que les autres membres ont sur leur compte !