Aide sur modification d'un classement sportif en PHP.

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 : Aide sur modification d'un classement sportif en PHP.

Aide sur modification d'un classement sportif en PHP.

par rom1g » 29 mai 2009, 14:26

Bonjour à tous,

Déjà merci pour le site que j'utilise régulièrement pour (essayer :lol:) de m'améliorer ! Là je bloque sur une option que j'essaye d'implanter à un classement de joueurs, si vous pouviez m'apporter quelques pistes parce que là je suis en panne sèche (si ça se trouve ce n'est pas si compliqué que ça !).

Alors j'ai un classement qui existe déjà, j'aimerai pouvoir afficher l'évolution au classement des joueurs par rapport à la dernière partie avec quelque chose dans ce style Image Image Image... Et c'est là que bloque...

Déjà ma table ce présente ainsi:

Image

Et mon le code pour afficher le classement:
$rows = $sql->execute ( "SELECT playerid,SUM(points) AS points, COUNT( playerid ) AS parties, ROUND(AVG(points),1) AS moy FROM ".$score_table."   GROUP BY playerid ORDER BY points DESC, parties DESC", SQL_RETURN_ASSOC ) or die ("$DatabaseError");   
echo "<table width=\"100%\" border=\"0\" align=\"center\" cellpadding=\"4\" cellspacing=\"1\" bgcolor=\"#999999\" bordercolor=\"#000000\">
<tr bgcolor=\"#F9F3EE\"><td width=\"5\" align=\"center\">Position</td><td align=\"center\" width=\"50\">Nom</td><td align=\"center\" width=\"25\">Points</td><td align=\"center\" width=\"25\">Nbr parties</td><td align=\"center\" width=\"25\">moyenne pts / partie</td></tr>";
    $num = sizeof ( $rows );      
      for ( $i = 0; $i < $num; ++$i )
      {
		$points = $rows [ $i ] [ "points" ];
		$playerid = $rows [ $i ] [ "playerid" ];
		$parties = $rows [ $i ] [ "parties" ];
		$moy = $rows [ $i ] [ "moy" ];
		$pos = $i + 1;
if ($pos <= 10)
{
echo "<tr bgcolor=\"#E6FFBF\" align=\"center\">
<td align=\"center\">$pos</td>
<td>";
}
else
{
echo "<tr bgcolor=\"#ffffff\" align=\"center\">
<td align=\"center\">$pos</td>
<td>";
}
	$prows = $sql->execute ( "SELECT * FROM ".$player_table." WHERE playerid='$playerid'",
    SQL_RETURN_ASSOC );
  $prow = $prows [ 0 ]; 
     
if($parties < 5)
{	  
echo" $playerid</td>
<td align=\"center\">$points</td>
<td bgcolor=\"#FFCFD5\" align=\"center\">$parties</td>
<td align=\"center\">$moy</td>
</tr>";
}
else
{
echo" $playerid</td>
<td align=\"center\">$points</td>
<td align=\"center\">$parties</td>
<td align=\"center\">$moy</td>
</tr>";
}
    
 }
 echo "</table>";
  }

}
Il faudrait que j'arrive à comparer le classement avec les nouveaux scores et l'ancien classement avant l'ajout de ces scores et si la nouvelle position est = à l'ancienne afficher Image, si la nouvelle position est < à l'ancienne afficher Image etc...
Dans l'état actuel du code je ne sais pas si c'est faisable et surtout comment le faire, qu'est-ce que je peux comparer pour avoir le résultat ? Faire la somme des points d'un côté et la somme des points sans le tournoi ayant l'id le plus grand (donc le dernier) ? Sachant que le joueur 1, par exemple, peut faire le tournoi N°1, le tournoi N°4 mais pas le N°2 et N°3... Bref je bloque un peu.
Si vous pouviez m'apporter vos lumières je suis preneur ! :wink: