使用一个SQL查询显示多个结果(分组?)

时间:2015-04-09 11:57:59

标签: php mysql select group-by

我想显示一个查询的几个结果,但我需要对其中一些结果进行分组。我认为你看到我的问题会更好:

我有这张表显示了几个培训:

enter image description here

当您点击一行时,它会展开并显示与训练ID相对应的练习(此处为示例值):

enter image description here

为了通过培训获得所有练习,我做了以下查询:

SELECT E.id_entrainement, E.intitule_entrainement, E.date_entrainement, EX.id_exercice, EX.reps, EX.poids, M.nom_exm FROM entrainements E, exercices EX, exercices_muscles M WHERE EX.id_entrainement = E.id_entrainement AND EX.membre = E.id_membre AND M.id_exm = EX.id_exercice_muscle AND id_membre='".$user_id."' GROUP BY E.id_entrainement

但是当我在我的代码中输入$data['id_entrainement']时,它只显示查询得到的第一个值,如下所示:

enter image description here

当我从查询中删除GROUP BY子句时,我有:

enter image description here

我不知道它对你是否真的有用,但这是我的PHP代码:

echo '<div class="container">';
echo '<h1>Vos entraînements</h1>
<table class="table table-striped">
    <thead>
        <tr>
            <th>#</th>
            <th>Référence entraînement</th>
            <th>Nom de l\'entraînement</th>
            <th>Date de réalisation</th>
            <th></th>
        </tr>
    </thead>
    <tbody>';

        $i=0;
        //$getTrainings = $bdd->query("SELECT * FROM entrainements WHERE id_membre='".$user_id."'");
        $getTrainings = $bdd->query("SELECT E.id_entrainement, E.intitule_entrainement, E.date_entrainement, EX.id_exercice, EX.reps, EX.poids, M.nom_exm FROM entrainements E, exercices EX, exercices_muscles M WHERE EX.id_entrainement = E.id_entrainement AND EX.membre = E.id_membre AND M.id_exm = EX.id_exercice_muscle AND id_membre='".$user_id."' ");
        while ($data = $getTrainings->fetch()) {
            $i++;
            echo '
            <tr class="plusExpand">
                <th scope="row">' . $i . '</th>
                <td>' . $data['id_entrainement'] . '</td>
                <td>' . $data['intitule_entrainement'] . '</td>
                <td>' . date("j/n/Y", strtotime($data['date_entrainement'])) . " " . date("G:i", strtotime($data['date_entrainement'])) . '</td>
                <td><span class=" glyphicon glyphicon-plus" aria-hidden="true"></span></td>
            </tr>
            <tr class="exercicesHidden">
                <td>1</td>
                <td>' . $data['nom_exm'] . '</td>
                <td>' . $data['reps'] . '</td>
                <td>' . $data['poids'] . '</td>
                <td>Up!</td>
            </tr>
            ';

            //echo '<tr class="exercicesHidden"><td>Coucou je suis caché!</td></tr>';
        }

        echo '
    </tbody>
</table>
</div>'

我希望所有练习都在一次训练中存储,当我点击它时,它会显示此训练的所有练习。 我希望我能帮助你纠正这个问题所有的东西!

0 个答案:

没有答案