Voici le code
<?php include('pass/connect.php');
$sql_palmares = "SELECT vainqueur, count(nom) as palmares from tableaux WHERE vainqueur != '-' and type in('Grand Chelem', 'Masters Series','WTA') GROUP BY vainqueur HAVING palmares>4 order by palmares desc";
$resultat_palmares = mysql_query($sql_palmares);
/* on initialise les points pour le rating */
$ptgc = 5;
$ptms = 1;
$ptwta = 1;
$ptmasters = 3;
echo "Dans le calcul du rating, les victoires rapportent les points suivants | Grand Chelem = " .$ptgc ." | Masters Series = " .$ptms ." | WTA = " .$ptwta ." | Masters = " .$ptmasters ." |";
?>
<br><br>
<table width="100%" border="1" cellpadding="2" cellspacing="0">
<tbody class="contenutableau">
<tr>
<td class="titretableau" width="16%"><p align="center">Joueur</td>
<td class="titretableau" width="10%"><p align="center">Rating</td>
<td class="titretableau" width="16%"><p align="center">Nombre de victoires</td>
<td class="titretableau" width="16%"><p align="center">En Grand Chelem</td>
<td class="titretableau" width="16%"><p align="center">En Masters Series</td>
<td class="titretableau" width="16%"><p align="center">En WTA > 1.000.000$</td>
</tr>
<?php
/* on boucle sur chaque joueur*/
while($data = mysql_fetch_array($resultat_palmares))
{
/* on construit les requetes par type de tournoi*/
$sql_gc = "SELECT count(nom) as palmaresgc from tableaux WHERE vainqueur = '".$data['vainqueur']."' and type='Grand Chelem' GROUP BY vainqueur";
$resultat_gc = mysql_query($sql_gc);
$data_gc = mysql_fetch_assoc($resultat_gc);
$sql_ms = "SELECT count(nom) as palmaresms from tableaux WHERE vainqueur = '".$data['vainqueur']."' and type='Masters Series' GROUP BY vainqueur";
$resultat_ms = mysql_query($sql_ms);
$data_ms = mysql_fetch_assoc($resultat_ms);
$sql_wta = "SELECT count(nom) as palmareswta from tableaux WHERE vainqueur = '".$data['vainqueur']."' and type='WTA' GROUP BY vainqueur";
$resultat_wta = mysql_query($sql_wta);
$data_wta = mysql_fetch_assoc($resultat_wta);
$sql_masters = "SELECT count(nom) as palmaresmasters from tableaux WHERE vainqueur = '".$data['vainqueur']."' and nom='Masters' GROUP BY vainqueur";
$resultat_masters = mysql_query($sql_masters);
$data_masters = mysql_fetch_assoc($resultat_masters);
/* On affiche - si pas de victoire dans la catégorie choisie*/
$gc = ($data_gc['palmaresgc']>0) ? $data_gc['palmaresgc'] : '-' ;
$ms = ($data_ms['palmaresms']>0) ? $data_ms['palmaresms'] : '-' ;
$wta = ($data_wta['palmareswta']>0) ? $data_wta['palmareswta'] : '-' ;
$masters = $data_masters['palmaresmasters'];
$rating = ($gc * $ptgc) + (($ms-$masters) * $ptms) + (($wta-$masters) * $wta) + ($masters * $ptmasters);
/* on alimente chaque colonne avec les palmares calcules precedemment*/
?>
<tr>
<td class="contenutableau"><?php echo($data['vainqueur']); ?></td>
<td class="contenutableau"><p align="center"><?php echo $rating ; ?></td>
<td class="contenutableau"><p align="center"><?php echo ($data['palmares']); ?></td>
<td class="contenutableau"><p align="center"><?php echo $gc ; ?></td>
<td class="contenutableau"><p align="center"><?php echo $ms ; ?></td>
<td class="contenutableau"><p align="center"><?php echo $wta ; ?></td>
</tr>
<?php
}
?>
</tbody>
</table>
Mon pb est le suivant : le tableau est affiché suivant le palmares (nbre de victoires totales) decroissant.Je souhaiterais qu'il le soit par rating décroissant, mais je calcule mes rating alors que je suis déjà dans le while.
Quelqu'un a-t-il une piste, merci d'avance ???
Voir l'exemple en question : http://tableaux.tennis.free.fr/stats.php
@+