Eléphant du PHP |
178 Messages
02 avr. 2019, 13:42
Bonjour Spols :
Le voici : (En lien avec un tuto fourni sur le site !)
$req=$connexion->query("SELECT * FROM repas ORDER BY repas_id ASC");
$req->setFetchMode(PDO::FETCH_OBJ);
$totalrepas = $req->rowCount();
$nbCols = $totalrepas;
$cpt = 0;
?>
<table border="1">
<tr>
<?php
while ($rep=$req->fetch())
{
?>
<th style="width:<?php echo round(100/$nbCols);?>%;"><?php echo $rep->repas_intitule; ?></th>
<?php
}
?>
</tr>
<?php
$resultats=$connexion->query("SELECT * FROM invites ORDER BY inv_id ASC");
$resultats->setFetchMode(PDO::FETCH_OBJ);
$total = $resultats->rowCount();
while ($row=$resultats->fetch()) { // parcours des résultats
// début d'une ligne
if ($cpt%$nbCols==0) // on divise le nb d'élément par le nb de colonnes. Si le reste est de 0 ...
echo '<tr>'; // ..., alors on est sur le premier élément d'une ligne
// On place chaque élément dans une cellule du tableau
echo '<td>';
if($cpt%$nbCols == 0)
{
$aff = 'Nom';
}
else
{
$aff = $cpt;
}
echo $aff; // affichage de tout ce qu'on veut dans la cellule
echo '</td>';
// fin d'une ligne
if ($cpt%$nbCols==($nbCols-1)) // on divise le nb d'élément par le nb de colonnes. Si le reste est de ($nbCols-1) ...
echo '</tr>'; // ..., on est sur le dernier élément d'une ligne
$cpt++; // on incrémente le compteur pour savoir où on en est
}
// Au cas où ...
if ($cpt!=0 && $cpt%$nbCols!=0) { // S'il n'y a pas eu assez de cellules dans la boucle pour finir la ligne ...
echo '<td colspan="'.($nbCols - ($cpt%$nbCols) ).'"> </td>'; // ... on complète avec une cellule vide de la bonne taille...
echo '</tr>'; // ... et on ferme la ligne
}
Voilà, merci de ton aide !