Aujourd'hui je m'emmele un peu les pinceaux pour l'affichage d'un tableau dont certaine cases sont soumises à conditions (du moins c'est ce que je pense)
J'ai une table repas (dateRepas, moment), je cherche à afficher:
Dans la première colonne la dateRepas, dans la seconde le nombre de repas le midi, dans la dernière le nombre de repas le soir. Sachant bien sur qu'il peut y avoir des repas le midi et des repas le soir pour la même date.
Je pense que ma requête est bonne:
Code : Tout sélectionner
$req=$bdd->prepare('SELECT moment, dateRepas, COUNT(*) AS nbrRepas FROM repas WHERE dateRepas BETWEEN ? and ? GROUP BY dateRepas ORDER BY dateRepas');
$req->execute(array($dateMin, $dateMax));Maintenant je veux l'afficher en tableau en dissociant Midi/Soir, et la je bute, voici mon essai le plus "abouti", je ne comprend pas pourquoi cela m'affiche des valeurs fantaisistes.... :
Code : Tout sélectionner
<table>
<tr>
<th>Date</th>
<th>Nombre de repas midi</th>
<th>Nombre de repas soir</th>
</tr>
<?php
$nbrRepasTotal=0;
while ($donnees=$req->fetch()) {
$dateRepas=$donnees['dateRepas'];
$nbrRepas=$donnees['nbrRepas'];
$nbrRepasTotal=$nbrRepasTotal+$nbrRepas;
$nbrRepasSoir=0;
if ($donnees['moment']=="Soir") {
$nbrRepasSoir=$nbrRepasSoir+1;
$nbrRepas=$nbrRepas-1;
}
echo '<tr><th>'.$dateRepas.'</th><th>'.$nbrRepas.'</th><th>'.$nbrRepasSoir.'</th></tr>';
}
echo 'Total de repas pour cette pÈriode: '.$nbrRepasTotal;
?>
</table>En tout cas ne rigolez pas trop svp, je découvre :p
En vous remerciant par avance pour votre expertise....