<?php
$dbhost = "----";
$dbusername = "------";
$dbuserpassword = "--------";
$dbname = "-------";
$link = mysql_connect ($dbhost, $dbusername, $dbuserpassword);
if (!$link) {
echo "&result=noconnection";
} else {
mysql_select_db($dbname);
}
$query = "SELECT * FROM clubers ORDER BY quiz51 DESC LIMIT 0, 50;";
$result = mysql_query ($query);
$count = 0;
while ($query_data = mysql_fetch_array ($result)) {
$userName = $query_data ["userName"];
$quiz51 = $query_data ["quiz51"];
$quiz52 = $query_data ["quiz52"];
$quiz53 = $query_data ["quiz53"];
$quiz54 = $query_data ["quiz54"];
$quiz50 = $quiz51+$quiz52+$quiz53+$quiz54;
echo "&player$count=$userName";
echo "&score$count=$quiz50";
$count++;
}
echo "&result=okay";
echo "&rows=$count&";
?>
Mais le problème est que les scores ne sont pas rangés par ordre décroissant. Que faut-il mettre après le order by dans ma cas ?[/php]
SELECT quiz51+quiz52+quiz53+quiz54 as total FROM clubers ORDER BY total DESC
Ceci dit les 2questions remarques restent valables.$link = mysql_connect ($dbhost, $dbusername, $dbuserpassword);
if (!$link) {
echo "&result=noconnection";
} else {
mysql_select_db($dbname);
}
// set query to call top 50 //
$query = "SELECT quiz51+quiz52+quiz53+quiz54 as total FROM clubers ORDER BY total DESC LIMIT 0, 50;";
$result = mysql_query ($query);
// init count
$count = 0;
// fetch data and output
while ($query_data = mysql_fetch_array ($result)) {
$userName = $query_data ["userName"];
$quiz51 = $query_data ["quiz51"];
$quiz52 = $query_data ["quiz52"];
$quiz53 = $query_data ["quiz53"];
$quiz54 = $query_data ["quiz54"];
$quiz50 = $quiz51+$quiz52+$quiz53+$quiz54;
// data outputted as variables of this form : player0=myname ... player9=yourname //
echo "&player$count=$userName";
echo "&score$count=$quiz50";
$count++;
}
// send extra data to flash //
echo "&result=okay";
echo "&rows=$count&";
?>
!!![/color]
Et ça m'apprendra à donner une réponses sans faire réfléchir :roll:
Ce que je t'ai donné n'est ni plus ni moins ce que tu devrais appliquer mais cette requete n'est certainement pas la pour etre copiée/collée.
Il n'y a plus la sélection des autres champs dans cette requete tu dois les rajouter...
"total" est un alias... sorte de champ temporaire le temps de la requête$link = mysql_connect ($dbhost, $dbusername, $dbuserpassword);
if (!$link) {
echo "&result=noconnection";
} else {
mysql_select_db($dbname);
}
// set query to call top 50 //
$query = "SELECT * FROM clubers ORDER BY quiz51+quiz52+quiz53+quiz54 DESC LIMIT 0, 50;";
$result = mysql_query ($query);
// init count
$count = 0;
// fetch data and output
while ($query_data = mysql_fetch_array ($result)) {
$userName = $query_data ["userName"];
$quiz51 = $query_data ["quiz51"];
$quiz52 = $query_data ["quiz52"];
$quiz53 = $query_data ["quiz53"];
$quiz54 = $query_data ["quiz54"];
$quiz50 = $quiz51+$quiz52+$quiz53+$quiz54;
// data outputted as variables of this form : player0=myname ... player9=yourname //
echo "&player$count=$userName";
echo "&score$count=$quiz50";
$count++;
}
// send extra data to flash //
echo "&result=okay";
echo "&rows=$count&";
?>
$query = "SELECT * FROM clubers ORDER BY quiz51+quiz52+quiz53+quiz54 DESC LIMIT 0, 50;";par $query = "SELECT quiz51+quiz52+quiz53+quiz54 as total FROM clubers ORDER BY total DESC LIMIT 0, 50;"; comme indiqué par Truc