SQL COUNT et affichage tableau
Bonjour, bonsoir
J'ai actuellement 3 tables dans ma base de données :
- Etudiant {id_etudiant, prenom, age}
- Calendrier {id_calendrier, jour, horaire, sortie}
- Inscription {id, id_etudiant, id_calendrier}
La table "inscription" permet bien entendu d’inscrire un étudiant à une date de sortie. Le nombre maximum d'inscrit pour chaque sortie est de 10 étudiants. J'aimerais grâce à une requête afficher le nombre de places restantes pour chaque date dans un tableau, qui reprend à chaque fois les données jour, horaire et sortie.
Je sais bien que je dois utiliser un SELECT COUNT, mais je n'arrive même pas à simplement afficher le nombre d’étudiant inscrit par date ... Voici où je me suis arrêtée, et bien évidemment c'est complètement faux. J'ai épluché beaucoup de sujets avant de poster, mais rien n'y fait je m'en sors pas, grande débutante que je suis :(
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| $reponse= $bdd->prepare('SELECT jour, creneau COUNT(id_etudiant) AS nbr_etudiant FROM inscription, calendrier, etudiant WHERE etudiant.id_etudiant=inscription.id_etudiant AND calendrier.id_calendrier=inscription.id_calendrier AND inscription.id_calendrier = ?');
$reponse->execute(array($_GET=['enfant']));
//$donnees=$reponse->fetch()
while ($donnees=$reponse->fetch())
{
echo $donnees['nbr_etudiant'];
}
else
{
echo "probleme";
}
//ec |
Sur un autre script, j'ai affiché simplement le planning des sorties, avec le code suivant. En faite, j'aimerais le même résultat mais avec l'information du nombre de places restantes en plus, dans une nouvelles colonnes.
Code:
1 2 3 4 5 6 7 8 9 10 11
| $reponse= $bdd->query('SELECT id_calendrier, jour, horaire, sortie FROM calendrier');
echo "<TABLE border='1' cellpadding='6'>\n" ;
echo "<TR><TD> Date </TD><TD> Horaire </TD><TD> Sortie proposée </TD><TR>";
while ($donnees=$reponse->fetch())
{
$jour=$donnees['jour'];
//echo "<TH>$jour</TH>" ;
echo "<TR><TD>{$donnees['jour']}</TD><TD>{$donnees['horaire']}</TD><TD>{$donnees['sortie']}</TD></TR>" ;
}
echo "</TABLE>" ;
$reponse->closeCursor(); |
Je sais que c'est peu comme travail pour demander de l'aide, mais je n'y arrive plus du tout. Alors merci d'avance !