IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Impossible d'afficher le total de chaque colonne


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Invité
    Invité(e)
    Par défaut Impossible d'afficher le total de chaque colonne
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    <!DOCTYPE html>
    <html lang="fr">
     
    <head>
        <meta charset="utf-8">
        <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <link rel="stylesheet" href="css/bootstrap.css">
        <link rel="stylesheet" href="css/style.css">
        <link rel="stylesheet" href="css/carousel.css">
        <title>Coupe du monde de rugby 2011</title>
        <script src="js/jquery.js"></script>
        <script src="js/bootstrap.min.js"></script>
    </head>
    <?php
    try{
        $bdd=new PDO('mysql:host=localhost;dbname=rugby2011;charset=utf8', 'root','');
        $bdd->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    }catch(Exception $e){
        die('Erreur :' . $e->getMessage());
    }
    $response = $bdd->query('SELECT * FROM scorematch ');
    $scorematch = $response->fetchAll(); 
    ?>
    <body>
    	<h1>Coupe du monde de rugby 2011</h1>
    	<div id="matchpoule">
    		<div class="container">
    			<div class="row">
    				<div class="col-sm-12">
                        <?php                       
                        if (!empty($scorematch)){
                        $response = $bdd->query('SELECT * FROM scorematch');
                        $scorematch = $response->fetchAll();
                        ?>
                        <table>
                            <tr>
                                <th>Pays</th>
                                <th>Groupe</th>
                                <th>Bonus</th>
                                <th>Score</th>
                                <th>Score</th>
                                <th>Bonus</th>
                                <th>Groupe</th>
                                <th>Pays</th>
                            </tr>
                            <?php
                            foreach($scorematch as $score){
                                echo '<tr><td>'.htmlspecialchars($score['equipe']).'</td><td>'.htmlspecialchars($score['groupe']).'</td><td>'.htmlspecialchars($score['bonus']).'</td><td>'.htmlspecialchars($score['score']).'</td><td>'.htmlspecialchars($score['score2']).'</td><td>'.htmlspecialchars($score['bonus2']).'</td><td>'.htmlspecialchars($score['groupe2']).'</td><td>'.htmlspecialchars($score['equipe2']).'</td></tr>';
                            }
                            ?>
    					</table>
                        <?php
                        }
                        ?>
    				</div>
    			</div>
    		</div>
    	</div>
    	<div id="classementpoule">
    		<div class="container">
    			<div class="row">
    				<div class="col-sm-12">
                    <a href="includes/scoreequipe.php">Points par équipe</a>
    					<h4 align="center">Poule A</h4>
                        <table>
                            <?php
                            $response = $bdd->query("SELECT * FROM pointsequipe WHERE equipe ='Nouvelle Zélande'");
                            $pointsequipe = $response->fetchAll();
     
                            $response1=$bdd->query("SELECT SUM(bonus) AS totalbonus FROM pointsequipe");
                            $bonus=$response1->fetch();
                            $bonus=$totalbonus['totalbonus'];
                            
                            $response1=$bdd->query("SELECT SUM(pour) AS totalpour FROM pointsequipe");
                            $pour=$response1->fetch();
                            $pour=$totalpour['totalpour'];
                            
                            $response1=$bdd->query("SELECT SUM(contre) AS totalcontre FROM pointsequipe");
                            $contre=$response1->fetch();
                            $contre=$totalcontre['totalcontre'];
                            
                            $response1=$bdd->query("SELECT $totalpour-$totalcontre AS differences FROM pointsequipe");
                            $differences=$response1->fetch();
                            $differences=$difference['difference'];
                            ?>
                            <tr>
                                <th>Equipe</th>
                                <th>Points</th>
                                <th>Buts pour</th>
                                <th>Buts contre</th>
                                <th>Différence</th>
                            </tr>
                            <?php
                            if (!empty($pointsequipe)){
                                    echo '<tr><td>'.htmlspecialchars($data['equipe']).'</td><td>'.htmlspecialchars($totalbonus['totalbonus']).'</td><td>'.htmlspecialchars($totalpour['totalpour']).'</td><td>'.htmlspecialchars($totalcontre['totalcontre']).'</td><td>'.htmlspecialchars($difference['difference']).'</td></tr>';
                            }
                            ?>
                        </table>
    					<h4 align="center">Poule B</h4>
                        <table>
                            <tr>
                                <th>Equipe</th>
                                <th>Points</th>
                                <th>Buts pour</th>
                                <th>Buts contre</th>
                                <th>Différence</th>
                            </tr>
                        </table>
    					<h4 align="center">Poule C</h4>
                        <table>
                            <tr>
                                <th>Equipe</th>
                                <th>Points</th>
                                <th>Buts pour</th>
                                <th>Buts contre</th>
                                <th>Différence</th>
                            </tr>
                        </table>
    					<h4 align="center">Poule D</h4>
                        <table>
                            <tr>
                                <th>Equipe</th>
                                <th>Points</th>
                                <th>Buts pour</th>
                                <th>Buts contre</th>
                                <th>Différence</th>
                            </tr>
                        </table>
    				</div>
    			</div>
    		</div>
    	</div>
        <script type="application/javascript" src="js/jquery-3.1.1.min.js"></script>
        <script src="js/script.js"></script>
    </body>
    </html>

    L'idée, c'est d'afficher le total de chaque colonne (bonus, buts pour, buts contre, différence) pour chaque équipe dans le fichier index.php. Par exemple, pour le Nouvelle-Zélande, le total de chaque colonne.
    Nom : bdd.jpg
Affichages : 151
Taille : 252,1 Ko

    Il s'agit des erreurs qui s'affichent.
    Nom : erreur.jpg
Affichages : 151
Taille : 259,8 Ko

    Merci d'avance.
    Dernière modification par NoSmoking ; 03/08/2018 à 17h57.

  2. #2
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2018
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2018
    Messages : 11
    Par défaut
    Pourquoi tu ne créerais pas à la place, dans ta table pointsequipe, une colonne total ?

    Il te suffirait alors simplement d'écrire quelque chose comme :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $total= $equipe + $bonus +$pour+$contre+$difference;
    et il te manquerait plus qu'a définir chacune de ces variables ça te simplifierait le code je pense. Je suis débutant mais je pense que c'est plus pratique !

    D'ailleurs pour l'erreur concernant le AS c'est parce que tu sélectionne une variable alors que c'est une clé concernant ta table SQL que tu cherches à sélectionner.

  3. #3
    Invité
    Invité(e)
    Par défaut
    Ce je que veux, c'est que ça calcule automatiquement suivant les données que l'on rentre dans la bdd

  4. #4
    Membre chevronné
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Avril 2017
    Messages
    508
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2017
    Messages : 508
    Par défaut
    Bonsoir, utilise la fonction SUM et la clause Group By


    Cordialement.

  5. #5
    Membre éprouvé
    Homme Profil pro
    Ingénieur en électrotechnique retraité
    Inscrit en
    Décembre 2008
    Messages
    1 718
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Ingénieur en électrotechnique retraité

    Informations forums :
    Inscription : Décembre 2008
    Messages : 1 718
    Par défaut
    Bonjour,
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT SUM(ta_colonne) AS total FROM ta_table
    J'espère aussi que tu n'as pas rempli la colonne difference à la main.

  6. #6
    Membre chevronné
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Avril 2017
    Messages
    508
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2017
    Messages : 508
    Par défaut
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    SELECT equipe, SUM(bonus) As Bonus, SUM(pour) As Pour, SUM(contre) As Contre, SUM(difference) As Difference from pointsequipe Group By equipe;

    Cordialement.

  7. #7
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par Manequin Voir le message
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    SELECT equipe, SUM(bonus) As Bonus, SUM(pour) As Pour, SUM(contre) As Contre, SUM(difference) As Difference from pointsequipe Group By equipe;

    Cordialement.
    Merci cela fonctionne

  8. #8
    Membre Expert
    Avatar de badaze
    Homme Profil pro
    Chef de projets info
    Inscrit en
    Septembre 2002
    Messages
    1 412
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets info
    Secteur : Transports

    Informations forums :
    Inscription : Septembre 2002
    Messages : 1 412
    Par défaut
    Dans la vie il faut avoir de l’ambition c’est même comme ça qu’on avance. Mais il faut savoir aussi quand on en a trop. Et là c’est le cas. Les problèmes ne se limitent pas à une requête mysql mal écrite. Il y a plein de concepts de base de l’informatique et du sql qui ne sont pas maîtrisés et malheureusement en en corrigeant un on tombera sur le suivant. Je cite (pas forcément dans l’ordre ni forcément exhaustif).
    - variable php dans la clause select.
    - requête sql sans clause where.
    - utilisation des résultats des requêtes.
    - copié/collé de code sans comprendre ce qu’il fait.

    Attention. Il ne faut pas y voir une critique mais seulement la constatation qu’on a tous commencé à marcher avant de courir et que partir sur un projet qui est au-delà de nos possibilités est le meilleur moyen pour s’en dégoûter. Alors qu’en commençant petit, non seulement on apprend les concepts les uns après les autres mais en plus ça amène une satisfaction personnelle qui pousse à aller de l’avant et à faire des choses de plus en plus compliquées.

  9. #9
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par badaze Voir le message
    Dans la vie il faut avoir de l’ambition c’est même comme ça qu’on avance. Mais il faut savoir aussi quand on en a trop. Et là c’est le cas. Les problèmes ne se limitent pas à une requête mysql mal écrite. Il y a plein de concepts de base de l’informatique et du sql qui ne sont pas maîtrisés et malheureusement en en corrigeant un on tombera sur le suivant. Je cite (pas forcément dans l’ordre ni forcément exhaustif).
    - variable php dans la clause select.
    - requête sql sans clause where.
    - utilisation des résultats des requêtes.
    - copié/collé de code sans comprendre ce qu’il fait.

    Attention. Il ne faut pas y voir une critique mais seulement la constatation qu’on a tous commencé à marcher avant de courir et que partir sur un projet qui est au-delà de nos possibilités est le meilleur moyen pour s’en dégoûter. Alors qu’en commençant petit, non seulement on apprend les concepts les uns après les autres mais en plus ça amène une satisfaction personnelle qui pousse à aller de l’avant et à faire des choses de plus en plus compliquées.
    Ce genre de discours ne m'aide pas à avancer. Pour moi, ton discours est inutile

  10. #10
    Invité
    Invité(e)
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    <!DOCTYPE html>
    <html lang="fr">
     
    <head>
        <meta charset="utf-8">
        <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <link rel="stylesheet" href="css/bootstrap.css">
        <link rel="stylesheet" href="css/style.css">
        <link rel="stylesheet" href="css/carousel.css">
        <title>Coupe du monde de rugby 2011</title>
        <script src="js/jquery.js"></script>
        <script src="js/bootstrap.min.js"></script>
    </head>
    <?php
    try{
        $bdd=new PDO('mysql:host=localhost;dbname=rugby2011;charset=utf8', 'root','');
        $bdd->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    }catch(Exception $e){
        die('Erreur :' . $e->getMessage());
    }
    $response = $bdd->query('SELECT * FROM scorematch ');
    $scorematch = $response->fetchAll(); 
    ?>
    <body>
    	<h1>Coupe du monde de rugby 2011</h1>
    	<div id="matchpoule">
    		<div class="container">
    			<div class="row">
    				<div class="col-sm-12">
                        <?php                       
                        if (!empty($scorematch)){
                        $response = $bdd->query('SELECT * FROM scorematch');
                        $scorematch = $response->fetchAll();
                        ?>
                        <table>
                            <tr>
                                <th>Pays</th>
                                <th>Groupe</th>
                                <th>Bonus</th>
                                <th>Score</th>
                                <th>Score</th>
                                <th>Bonus</th>
                                <th>Groupe</th>
                                <th>Pays</th>
                            </tr>
                            <?php
                            foreach($scorematch as $score){
                                echo '<tr><td>'.htmlspecialchars($score['equipe']).'</td><td>'.htmlspecialchars($score['groupe']).'</td><td>'.htmlspecialchars($score['bonus']).'</td><td>'.htmlspecialchars($score['score']).'</td><td>'.htmlspecialchars($score['score2']).'</td><td>'.htmlspecialchars($score['bonus2']).'</td><td>'.htmlspecialchars($score['groupe2']).'</td><td>'.htmlspecialchars($score['equipe2']).'</td></tr>';
                            }
                            ?>
    					</table>
                        <?php
                        }
                        ?>
    				</div>
    			</div>
    		</div>
    	</div>
    	<div id="classementpoule">
    		<div class="container">
    			<div class="row">
    				<div class="col-sm-12">
                    <a href="includes/scoreequipe.php">Points par équipe</a>
    					<h4 align="center">Poule A</h4>
                        <table>
                            <?php
                            $response = $bdd->query("SELECT equipe, SUM(bonus) AS bonus, SUM(pour) AS pour, SUM(contre) AS contre, SUM(difference) AS difference FROM pointsequipe GROUP BY equipe");
                            $pointsequipe = $response->fetchAll();
                            ?>
                            <tr>
                                <th>Equipe</th>
                                <th>Points</th>
                                <th>Buts pour</th>
                                <th>Buts contre</th>
                                <th>Différence</th>
                            </tr>
                            <?php
                            if (!empty($pointsequipe)){
                                foreach($pointsequipe as $points){
                                    echo '<tr><td>'.htmlspecialchars($points['equipe']).'</td><td>'.htmlspecialchars($points['bonus']).'</td><td>'.htmlspecialchars($points['pour']).'</td><td>'.htmlspecialchars($points['contre']).'</td><td>'.htmlspecialchars($points['difference']).'</td></tr>';
                                }
                            }
                            ?>
                        </table>
    					<h4 align="center">Poule B</h4>
                        <table>
                            <tr>
                                <th>Equipe</th>
                                <th>Points</th>
                                <th>Buts pour</th>
                                <th>Buts contre</th>
                                <th>Différence</th>
                            </tr>
                        </table>
    					<h4 align="center">Poule C</h4>
                        <table>
                            <tr>
                                <th>Equipe</th>
                                <th>Points</th>
                                <th>Buts pour</th>
                                <th>Buts contre</th>
                                <th>Différence</th>
                            </tr>
                        </table>
    					<h4 align="center">Poule D</h4>
                        <table>
                            <tr>
                                <th>Equipe</th>
                                <th>Points</th>
                                <th>Buts pour</th>
                                <th>Buts contre</th>
                                <th>Différence</th>
                            </tr>
                        </table>
    				</div>
    			</div>
    		</div>
    	</div>
        <script type="application/javascript" src="js/jquery-3.1.1.min.js"></script>
        <script src="js/script.js"></script>
    </body>
     
    </html>
    Nom : total.jpg
Affichages : 135
Taille : 222,7 Ko

    Ce que je souhaite afficher, pour chaque groupe, le total de chaque équipe. Par exemple, le total de chaque équipe du groupe A. Et ainsi de suite.

  11. #11
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par moimp Voir le message
    Bonjour,
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT SUM(ta_colonne) AS total FROM ta_table
    J'espère aussi que tu n'as pas rempli la colonne difference à la main.
    si

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. impossible d'afficher le total d'une colonne
    Par ARNAUD ZIRIPE dans le forum WinDev
    Réponses: 5
    Dernier message: 22/05/2018, 14h10
  2. [WD20] TABLE TCD récupérer chaque total de chaque colonne
    Par radouane963 dans le forum WinDev
    Réponses: 4
    Dernier message: 27/01/2017, 17h46
  3. Impossible d'afficher la moyenne de mes colonnes.
    Par Serghez dans le forum Langage
    Réponses: 6
    Dernier message: 24/05/2012, 03h17
  4. Réponses: 4
    Dernier message: 13/01/2010, 09h37
  5. [MySQL] afficher la durée totale après chaque date
    Par younes371 dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 29/08/2007, 12h46

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo