Partage
  • Partager sur Facebook
  • Partager sur Twitter

Problème - Affichage requête

Sujet résolu
    20 mai 2019 à 18:44:16

    Bonjour, débutant en PhP et MySQL, je suis en train de créer un site. Je suis le cours suivant : https://openclassrooms.com/fr/courses/918836-concevez-votre-site-web-avec-php-et-mysql/914293-lisez-des-donnees

    J'ai crée une base de données avec plusieurs tables et notamment une table "coachs" et un autre table "resultats". L'idée est de pouvoir retourner un tableau de stats (nb de match, nb victoires, nb de kill, % de victoire...) pour chaque joueur,dans un tableau(ce tableau serait donc actualisé à chaque fois que je rajoute un résultat). J'ai testé ma requête sur phpMyAdmin et ça me renvoi exactement ce que je souhaite ! 

    Voici mon code php :

    <body>
    		<?php
    		
    			try
    				{	$bdd = new PDO('mysql:host=localhost;dbname=adl;charset=utf8', 'root', '',  array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION)); }
    			catch (Exception $e)
    				{
    			die('Erreur : ' . $e->getMessage());
    			}
    			
    			$reponse = $bdd->query('SELECT coachs.Coachs as Coachs, 
    									SUM(victoire) AS Victoires, 
    									SUM(defaite) AS Défaites, 
    									SUM(victoire)+SUM(defaite) AS Matchs, 
    									SUM(`kill`) AS Kills, 
    									SUM(death) AS Deaths, 
    									SUM(`kill`)-SUM(death) AS "+/-", 
    									ROUND(100*SUM(victoire)/(SUM(victoire)+SUM(defaite)),2) AS pourcentage_win,
    									ROUND(SUM(`kill`)/(SUM(victoire)+SUM(defaite)),2) AS Kills_par_match,
    									ROUND(SUM(death)/(SUM(victoire)+SUM(defaite)),2) AS Death_par_match
    									FROM `coachs`,`resultats`  
    									WHERE coachs.id = resultats.idjoueur 
    									GROUP BY Coachs
    									ORDER BY Victoires DESC');
    
    			
    			while ($donnees = $reponse->fetch())
    			{
    				echo '<li>' . $donnees['coachs'] . '</li>';
    			}
    
    			$reponse->closeCursor();
    	
    		?> 
    	</body>
    </html>

    Voici ce que cela me renvoie...

    Je ne vois d'où vient le problème... ce n'est pas faute d'avoir cherché x) Il semblerait qu'une partie du problème soit un problème de syntaxe (sur la partie PhP du coup, étant donné que le SQL marche sur PhpMyAdmin)...

    Merci à ceux qui prendront le temps de m'aider !

    • Partager sur Facebook
    • Partager sur Twitter
      20 mai 2019 à 18:53:23

      Bonjour.

      Le problème vient de l'accent à ton alias Défaites.

      PHPMyAdmin quote automatiquement les champs/alias normalement, ce ne serait donc pas étonnant que ton problème n'y survienne pas.

      • Partager sur Facebook
      • Partager sur Twitter

      Face a quelqu'un pour qui l'on n'éprouve que de l'aversion et du mépris, les yeux d'un homme deviennent extrêmement froids et cruels.

        20 mai 2019 à 18:54:01

        Bonjour,

        On ne voit vraiment rien, mais pourtant l'erreur aurait dû t'aiguiller, tu vois bien qu'il n'interprète pas bien le "é" de "Défaites". Moralité, on évite les caractères accentués dans les noms de colonne, surtout si l'encodage de la page n'est pas bon ;)

        • Partager sur Facebook
        • Partager sur Twitter
          29 mai 2019 à 23:38:59

          Bonsoir,

          Effectivement c'était une erreur de débutant ! x)

          Merci à vous, ce sujet est donc résolu !

          • Partager sur Facebook
          • Partager sur Twitter

          Problème - Affichage requête

          × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
          × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
          • Editeur
          • Markdown