Affichage de données issues de MYSQL dans un tableau
Bonjour,
j'aimerai pouvoir afficher un tableau avec des données issues de plusieurs tables MySQL. Je voudrais afficher une première ligne avec la liste des rencontres, une première colonne avec les pseudos et l'intérieur du tableau remplit avec les présences ou non.
J'aimerai donc obtenir un tableau comme ceci :
|
Rencontre 1221 |
Rencontre 1222 |
Rencontre 1223 |
Rencontre 1224 |
Rencontre 1225 |
Rencontre 1226 |
Rencontre 1227 |
Rencontre 1228 |
Rencontre 1229 |
Rencontre 1230 |
Pseudo 1 |
OK |
OK |
ABS |
OK |
OK |
NR |
NR |
NR |
NR |
NR |
Pseudo 2 |
ABS |
ABS |
ABS |
NR |
NR |
NR |
NR |
NR |
NR |
NR |
Pseudo 3 |
OK |
NR |
NR |
NR |
NR |
NR |
NR |
NR |
NR |
NR |
Pseudo 4 |
NR |
NR |
NR |
NR |
NR |
NR |
NR |
NR |
NR |
NR |
Or, avec le code ci-après, j'obtiens un tableau comme cela :
|
Rencontre 1221 |
Rencontre 1222 |
Rencontre 1223 |
Rencontre 1224 |
Rencontre 1225 |
Rencontre 1226 |
Rencontre 1227 |
Rencontre 1228 |
Rencontre 1229 |
Rencontre 1230 |
Pseudo 1 |
OK |
OK |
ABS |
OK |
OK |
NR |
NR |
NR |
NR |
NR |
ABS |
ABS |
ABS |
NR |
NR |
NR |
NR |
NR |
NR |
NR |
OK |
NR |
NR |
NR |
NR |
NR |
NR |
NR |
NR |
NR |
NR |
NR |
NR |
NR |
NR |
NR |
NR |
NR |
NR |
NR |
Pseudo 2 |
OK |
OK |
ABS |
OK |
OK |
NR |
NR |
NR |
NR |
NR |
ABS |
ABS |
ABS |
NR |
NR |
NR |
NR |
NR |
NR |
NR |
OK |
NR |
NR |
NR |
NR |
NR |
NR |
NR |
NR |
NR |
NR |
NR |
NR |
NR |
NR |
NR |
NR |
NR |
NR |
NR |
Pseudo 3 |
OK |
OK |
ABS |
OK |
OK |
NR |
NR |
NR |
NR |
NR |
ABS |
ABS |
ABS |
NR |
NR |
NR |
NR |
NR |
NR |
NR |
OK |
NR |
NR |
NR |
NR |
NR |
NR |
NR |
NR |
NR |
NR |
NR |
NR |
NR |
NR |
NR |
NR |
NR |
NR |
NR |
Pseudo 4 |
OK |
OK |
ABS |
OK |
OK |
NR |
NR |
NR |
NR |
NR |
ABS |
ABS |
ABS |
NR |
NR |
NR |
NR |
NR |
NR |
NR |
OK |
NR |
NR |
NR |
NR |
NR |
NR |
NR |
NR |
NR |
NR |
NR |
NR |
NR |
NR |
NR |
NR |
NR |
NR |
NR |
Si on regarde bien, on a les présences du pseudo 1 qui sont sur les premières colonnes puis à suivre les présences du pseudo2 et pseudo3 et pseudo4 et ainsi de suite. Et lorsqu'on change de ligne, cela se répète.
Le code :
Code:
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
| if ($_SESSION['id_user'] == $_GET['user'])
{
$nom_team = $_SESSION['equipe'];
$presence = $bdd->prepare('
SELECT
mm.pseudo,
m.id,
mp.psence
FROM
matchs m
LEFT JOIN
matchs_presence mp ON m.id = mp.id_match
LEFT JOIN
matchs_membres mm ON mm.id = mp.id_utilisateur
WHERE
mm.id_equipe = ?
');
$presence ->execute(array($nom_team));
//var_dump($presence);
//requete pour avoir les pseudos
$requete_prenoms = $bdd->prepare('SELECT pseudo FROM matchs_membres WHERE id_equipe = ?');
$requete_prenoms ->execute(array($nom_team));
$donnees_prenoms = $requete_prenoms->fetchAll(PDO::FETCH_ASSOC);
//requete pour avoir les rencontres
//$requete_rencontres = $bdd->prepare('SELECT * FROM matchs WHERE id_equipe = ? AND datematch > CURDATE() ');
$requete_rencontres = $bdd->prepare('SELECT * FROM matchs WHERE id_equipe = ? ');
$requete_rencontres ->execute(array($nom_team));
$donnees_rencontres = $requete_rencontres->fetchAll(PDO::FETCH_ASSOC);
$tableau = array();
foreach($presence as $donnees)
{
if (!isset($tableau[$donnees['pseudo']]))
{
$tableau[$donnees['pseudo']] = array();
}
$tableau[$donnees['pseudo']][$donnees['id']] = $donnees['psence'];
}
/*echo '<pre>';
var_dump($tableau);
echo '</pre>';*/
//partie affichage du tableau
echo '
<div class="table-responsive">
<table class="table">
<tr>
<td></td>';
//la première ligne contient la liste des rencontres
foreach($donnees_rencontres as $rencontre)
{
echo '<td>Rencontre '.$rencontre['id'].'</td>';
}
echo '</tr>';
//la première col contient la liste des pseudos
foreach($donnees_prenoms as $prenom)
{
echo '<tr><td>'.$prenom['pseudo'].'</td>';
foreach ($tableau as $key => $value)
{
//echo '<td>'.$key . ': <br />'; //key affiche les pseudos
foreach ($value as $valeur => $elements)
{
echo ' <td>' . $elements . '</td>'; // affiche l'id du rencontre ($valeur) et la présence ($elements)
}
}
echo '</tr>';
}
echo '</table></div>';
}//fin if user
?> |