1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87
| <body>
<table>
<?php
$dbname = 'nom de la base';
$hostname = 'serveur';
$username = 'utilisateur';
$password = 'mot de passe';
$db = @mysql_connect($hostname, $username, $password) or die("erreur de connexion à la base"); // connexion à la base
mysql_select_db($dbname,$db); // sélection de la base
mysql_query("SET NAMES 'utf8'");
// F1 = nom ; F2 = appellation cross ; F7 = date ; F15 - Total des points
// on crée la requête SQL
$sql = 'SELECT F1,F15,F2,F7 FROM aspt_visforms_1';
// on envoie la requête
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
// on fait une boucle qui va faire un tour pour chaque enregistrement
while($data = mysql_fetch_assoc($req))
// On cree un table temporaire
mysql_query("CREATE TEMPORARY TABLE tmp (F1 VARCHAR(50),F15 BIGINT(20),F2 VARCHAR(50))");
mysql_query("LOCK TABLES FROM aspt_visforms_1");
// On insert dans la tmp les meilleurs perfs par nom, par vol
mysql_query("INSERT INTO tmp SELECT F1, max(F15),F2 FROM aspt_visforms_1 GROUP BY F1, F2");
// On selectionne dans tmp, la somme des points par nom et on cree la requete classement SQL et on l'envoie
mysql_query("CREATE TEMPORARY TABLE tmp2 (F1 VARCHAR(50),F15 BIGINT(20),F2 VARCHAR(50))");
mysql_query("INSERT INTO tmp2 SELECT F1, sum(F15),F2 FROM tmp GROUP BY F1");
$sql=" SELECT F1, F15,F2 FROM tmp2 GROUP BY F1 ORDER BY F15 DESC";
// on envoie la requete
$result = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
// si on a recupere un resultat on l'affiche.
if($result)
{
// debut du tableau
$a=1;
// premiere ligne on affiche les titres nom et surnom dans 2 colonnes
echo '<tr align="center">';
echo '<td bgcolor="#9999CC"><b><u>Rang</u></b></td>';
echo '<td bgcolor="#9999CC"><b><u>Pilote</u></b></td>';
echo '<td bgcolor="#9999CC"><b><u>Points</u></b></td>';
$i=1;
// lecture et affichage des resultats sur 2 colonnes, 1 resultat par ligne.
while($row = mysql_fetch_array($result))
{
echo '<tr align="center">';
echo '<td bgcolor="#b4d4f4">'.$i++.'</td>';
echo '<td bgcolor="#b4d4f4">'.$row['F1'].'</td>';
echo '<td bgcolor="#b4d4f4">'.$row['F15'].'</td>';
$a++;
if($a++ > 4)
break;
}
}
// On supprime la table
mysql_query("DROP TABLE tmp");
mysql_query("DROP TABLE tmp2");
// ************************
// on ferme la connexion à mysql
mysql_close();
?>
</table>
</body>
</html> |
Partager