Bonjour à tous,
Voila j’ai mis en place sur mon site un concours de jeux Flash avec intégration des scores …
Voici la requete pour l’affichage des scores :
echo "<center><table width=\"50%\" border=\"1\"><tr><td><center><b>Place</b></center></td><td><center><b>Nom</b></center></td><td><center><b>Points</b></center></td><td><center><b>Trophés</b></center></td><tr>";
$demande = "SELECT * FROM jeuxjava_palmares ORDER BY trophees DESC";
$traitement_jeux = mysql_query($demande) or die ('Erreur Requete SQL<br>'.$demande.'<br>'.mysql_error());
while ($boucle = mysql_fetch_array ($traitement_jeux)) {
$utilisateur = $boucle ['utilisateur'];
$points= $boucle ['points'];
$trophees = $boucle ['trophees'];
if (($utilisateur != '')&&($points!=0)&&($utilisateur != 'Anonymous')) {echo "<tr><td width=\"5%\">$place</td><td width = \"25%\">$utilisateur</td><td width= \"25%\">$points</td><td width= \"10%\">$trophees</td><tr>"; $place ++;}
}
echo "</table>";
Je souhaiterai que pour ceux qui ont le meme nombre de trophee,
qu’on puissent faire un trie par rapport aux scores.
Merci de votre aide
@+++
Rien à voir avec ta demande mais :
echo "<center><table width=\"50%\" border=\"1\"><tr><td><center><b>Place</b></center></td><td><center><b>Nom</b></center></td><td><center><b>Points</b></center></td><td><center><b>Trophés</b></center></td><tr>";
A remplacer par :
?>
<center>
<table width="50%" border="1">
<tr class="centrerGras">
<td>Place</td>
<td>Nom</td>
<td>Points</td>
<td>Trophés</td>
<tr>
<?php
et un rapide css :
.centrerGras {
text-align:center;
font-weigth : bold;
}
Je crois pas me tromper pour le CSS, tu comprends je pense que c’est plus rapide de changer une classe une fois, que modifier chaque colonne ton code est plus léger (donc plus rapide) et plus clair à lire pour toi
Et sinon ben t’as pas de traitements là dedans, donc pas de raison de faire des echos enfin c’est kisscool qui m’a fait réécrire la moitié de ma mini application donc je lui fais confiance à ce sujet
Tu peux faire deux classements
ORDER BY Trophées DESC, Score DESC;
Merci avec un “Points DESC” c’est deja mieux …
pour ce qui est du code tu as raison je vais revoir tout ca merci de ton aide
Sinon j’ai le meme soucis pour un autre de mes modules :
Frozen Bubble :
Je chercher à changer ma requete afin d’ afficher la liste des membres avec pour chacun d’eux leur meilleur scores ( donc level ) mais je ne trouve pas la syntaxe exact …
Voici le code actuelle
$query = reqmysql("SELECT 50 - from_end last_level, time, name, users.id
FROM fb_global_time, users
WHERE users.pseudo = name
ORDER BY from_end, time, nb_bubbles, record_date
LIMIT 12 ");
Et si cela peut vous aider :
- Structure de la table
fb_global_time
CREATE TABLE fb_global_time
(
id
int(11) NOT NULL auto_increment,
from_end
tinyint(3) unsigned NOT NULL default ‘0’,
name
varchar(20) collate latin1_general_ci NOT NULL default ‘’,
time
int(10) unsigned NOT NULL default ‘0’,
nb_bubbles
int(10) unsigned NOT NULL default ‘0’,
record_date
timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
PRIMARY KEY (id
)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci AUTO_INCREMENT=250 ;
–
– Structure de la table fb_level_time
CREATE TABLE fb_level_time
(
id
int(11) NOT NULL auto_increment,
level
tinyint(3) unsigned NOT NULL default ‘0’,
name
varchar(20) collate latin1_general_ci NOT NULL default ‘’,
time
int(10) unsigned NOT NULL default ‘0’,
nb_bubbles
int(10) unsigned NOT NULL default ‘0’,
record_date
timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
PRIMARY KEY (id
)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci AUTO_INCREMENT=4849 ;
–
Merci à tous
Pour Frozen bubble, si tu as la structure des tables, tu dois également avoir le source de whereami.php, qui te permet de récupérer tous les résultats d’un utilisateur, ordonné…
Exemple
A moins que tu n’utilises le module xoops?
Effectivement je n’ai aps de “whereami.php” car je n’utilise pas le module
Xoops mais un module "Frosen Bubble " adapté pour pwsphp ^^
C’est juste un portage !!!
Je n’utilise pas Xoops non plus
Pour ton problème, je pense que le plus simple est de diviser en plusieurs requêtes :
- 1 requête qui va rechercher les noms des membres
- Pour chaque résultat, ton programme va rechercher le meilleur score du joueur (la requete que tu as mis, avec limit 1)
- Si tu veux comarer les joueurs les uns par rapport aux autres, tu fais une nouvelle requete en base sur les id de highscores précédents, en remettant l’order by
N.B.: C’est sûrement pas top -et loin d’être optimal- comme solution, mais ça me semble simple à mettre en oeuvre
Merci myself,
Je pense que dans un premier temps je vais faire comme cela,
mais si quelqu’un a autre chose à proposer je suis preneur …
Encore merci à tous surtout myself
@++