Calcul points de plusieurs events et membres

Calcul points de plusieurs events et membres - PHP - Programmation

Marsh Posté le 30-08-2018 à 09:57:34    


Bonjour à tous,
 
Je suis en plein test de mes compétences en php et mysql et je bloque sur un point assez précis. J'ai créé un site où l'on peut réaliser des pronostics sur plusieurs matchs et je souhaiterais calculer de façon global les points et les statistiques des membres simultanément. J'ai donc réussi à sortir un bout de code qui me permet de réaliser cela mais sur un match (match n°1) sauf que j'aimerais pouvoir faire cela plus rapidement pour les matchs à venir et cumuler les points et stats.
 
J'ai donc 3 tables:
 
-membres (id, stats pronostic parfait, stats bons pronos, points)
 
-matchs (id, home_score, away_score, et les différentes cote)
 
-membres_matchs (id_matchs, id_membres, et les pronostics)
 
Voici le code:
 

Code :
  1. $calcscore1=$bdd->query('SELECT * FROM membres_matchs, matchs, membres WHERE id_membres = membres.id AND id_matchs=matchs.id AND id_matchs=1');
  2. while ($scoredonnees = $calcscore1->fetch())
  3. {
  4.   
  5. if ($scoredonnees['home_score']==$scoredonnees['homeprono'] AND $scoredonnees['away_score']==$scoredonnees['visiteprono'] AND $scoredonnees['home_score']!='') {
  6.  $bonscore1=0;
  7.  $bonprono1=0;
  8.  if ($scoredonnees['home_score']>$scoredonnees['away_score']) {
  9.  $scorexacte1= $scoredonnees['cote_home']*2;
  10.  $pronoparfait1=1;
  11.  }
  12.  else if ($scoredonnees['home_score']==$scoredonnees['away_score']) {
  13.  $scorexacte1= $scoredonnees['cote_nul']*2;
  14.  $pronoparfait1=1;
  15.  
  16.  }
  17.  else if ($scoredonnees['home_score']<$scoredonnees['away_score']) {
  18.  $scorexacte1= $scoredonnees['cote_away']*2;
  19.  $pronoparfait1=1;
  20.  }
  21. }
  22.  
  23. else if ($scoredonnees['home_score']<$scoredonnees['away_score'] AND $scoredonnees['homeprono']<$scoredonnees['visiteprono'] ) {
  24.  if ($scoredonnees['home_score']<$scoredonnees['away_score']) {
  25.  $bonprono1=$scoredonnees['cote_away'];
  26.  $bonscore1=1;
  27. $scorexacte1=0;
  28.  $pronoparfait1=0;
  29.  }
  30. }
  31.  
  32. else if ($scoredonnees['home_score']>$scoredonnees['away_score'] AND $scoredonnees['homeprono']>$scoredonnees['visiteprono'] ) {
  33.  if ($scoredonnees['home_score']>$scoredonnees['away_score']) {
  34.  $bonprono1=$scoredonnees['cote_home'];
  35.  $bonscore1=1;
  36. $scorexacte1=0;
  37.  $pronoparfait1=0;
  38.  
  39.  }
  40. }
  41.  
  42. else if ($scoredonnees['home_score']==$scoredonnees['away_score'] AND $scoredonnees['homeprono']==$scoredonnees['visiteprono'] ) {
  43.  if ($scoredonnees['home_score']==$scoredonnees['away_score']) {
  44.  $bonprono1=$scoredonnees['cote_nul'];
  45.  $bonscore1=1;
  46. $scorexacte1=0;
  47.  $pronoparfait1=0;
  48.  }
  49. }
  50.  
  51. else{
  52. $scorexacte1=0;
  53.  $bonprono1=0;
  54.  $bonscore1=0;
  55.  $pronoparfait1=0;
  56.  
  57. }
  58.  
  59. $totalpronoexact=$scorexacte1;
  60. $totalbonprono=$bonprono1;
  61. $totalpoints=$totalpronoexact+$totalbonprono;
  62.  
  63. $bonprono=$bonscore1;
  64. $pronoparfait=$pronoparfait1;
  65.  
  66. $id_membres=$scoredonnees['id_membres'];
  67.  
  68. $validscoretot = $bdd->prepare("UPDATE membres SET
  69.    pronos_exacts=:pronoparfait,
  70.    bons_pronos=:bonprono,
  71.    points=:totalpoints
  72.    WHERE id=:id_membres " );
  73. $validscoretot->execute(array(
  74.    'pronoparfait'=> $pronoparfait,
  75.    'bonprono'=> $bonprono,
  76.    'totalpoints'=> $totalpoints,
  77.    'id_membres'=> $id_membres,
  78. ));
  79. }


En vous remerciant pour votre aide.

Reply

Marsh Posté le 30-08-2018 à 09:57:34   

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed