Addition de TOUT les points

Fermé
THEPIXADE Messages postés 25 Date d'inscription samedi 10 novembre 2012 Statut Membre Dernière intervention 17 novembre 2013 - 17 nov. 2013 à 22:00
Doctor C Messages postés 627 Date d'inscription mardi 12 juin 2007 Statut Membre Dernière intervention 19 février 2016 - 18 nov. 2013 à 16:26
Bonjour,


J'ai un système de vote, sur le quel il y a des points par joueurs, et la je voudrais que l'on additionne tout les points de tout les joueur ensemble

Code

f($site=="") {

$conn = mysql_connect($dbhost,$dbuser,$dbpass)
or die ('Error connecting to mysql');
mysql_select_db($dbname);

$query="SELECT * FROM vote_users ORDER BY points DESC";
$result=mysql_query($query);
$num=mysql_numrows($result);
$i=0;
$yourpoints=0;
$rank=0;
while ($i < $num) {
$rank++;
$user=mysql_result($result,$i,"username");
$points=mysql_result($result,$i,"points");
$pointsl=mysql_result($result,$i,"pointsleft");
if(strtolower($user) == strtolower($username)) {
$yourpoints = $points;
$yourrank = $rank;
$yourpointsleft = $pointsl;
}
$i++;
}

Merci d'avance (si vous avez des questions hésiter pas pour plus de précision)


1 réponse

Doctor C Messages postés 627 Date d'inscription mardi 12 juin 2007 Statut Membre Dernière intervention 19 février 2016 398
Modifié par Doctor C le 18/11/2013 à 16:34
Bonjour,

Je ne suis pas certain comment exactement est construite ta base de données mais tu pourrais faire une simple somme de ta colonne "points" en SQL si tous tes points s'y trouve sans qu'ils y soient dédoublés.

SELECT SUM(points) AS total_points FROM vote_users;

Cette requête fera la somme de toutes les valeurs présentes dans la colonne "points" et inscrirait cette somme dans une nouvelle colonne nommée "total_points".

Une autre manière de s'y prendre serait de faire un compte dans ta boucle "while" déjà en place. Le total serait complet après la fin de l'exécution de la boucle.

$total_points = 0; //Initialise le nombre total de points avant la boucle
while ($i < $num) {
  $rank++;
  $user=mysql_result($result,$i,"username");
  $points=mysql_result($result,$i,"points");
  $pointsl=mysql_result($result,$i,"pointsleft");
  $total_points += $points; //Additionne les points de l'utilisateur au total

  if(strtolower($user) == strtolower($username)) {
    $yourpoints = $points;
    $yourrank = $rank;
    $yourpointsleft = $pointsl;
  }

  $i++;
}


Bonne chance.


Echo "Lima Mike Alfa";
0