1 pièce(s) jointe(s)
Plusieurs résultat sur 1 champ
Bonjour,
Je suis nouveau sur ce forum. Rien qu'en lisant le titre certains vont surement s'arracher les cheveux. Je pense que mon problème est bénin et ça m'énerve de ne pas trouver de solutions.
Bon je résume la situation, je dois faire un site web qui va être pour un collège, un espèce de pronote, tout cela est fait, j'ai 4 espaces de connexion. Élève, Parent, Enseignant, Administrateur. Je souhaiterais, quand un parent arrive dans son espace, que les prénom de ses enfants s'affichent. Mon problème est le suivant : m'a requête fonctionne, sauf que celle-ci doit me retourner 1 ou plusieurs valeurs. Or je ne récupère que la dernière.
Voici mon code :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
|
$req2 = ("SELECT IdEleve FROM ParentsEleve WHERE IdParents = \"$ID\""); //ICI LE $ID PREND UNE VALEUR SUR UNE PRECEDENTE REQUETE
//printf("req2 = %s<br>", $req2);
$resultat2 = mysqli_query($bdd, $req2) or die ("Impossible d'envoyer la requete id eleve");
$nb2 = mysqli_num_rows($resultat2);
//printf("nb2 = %s<br>", $nb2);
for($i = 0; $i < $nb2; $i++)
{
printf("i = %s<br>", $i);
while($tableau2 = mysqli_fetch_array($resultat2))
{
$IdE[$i] = $tableau2[$i];
printf("ide = %s<br>", $IdE[$i]);
} |
Oui, j'ai utilisé un "for" mais c'étais juste pour essayer, cela fait la même chose avec et sans.
Avec les valeur de cette requête, j'en créer une autre (ce pourquoi il n'y a pas l'accolade fermante du "for)
voici la suite :
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
|
$req3 = ("SELECT Prenom, Nom, EleveClasse.IdClasse FROM Eleve, EleveClasse WHERE Eleve.IdEleve = \"$IdE[$i]\"");
printf("req3 = %s<br>", $req3);
$resultat3 = mysqli_query($bdd, $req3) or die ("Impossible d'envoyer la requete nom prenom idclasse eleve");
$nb3 = mysqli_num_rows($resultat3);
while($tableau3 = mysqli_fetch_array($resultat3))
{
$PrenomE[$i] = $tableau3[0];
$NomE[$i] = $tableau3[1];
$IdCE[$i] = $tableau3[2];
printf("nb = %s, Eleve[%s] : <br> - %s %s %s <br>", $nb3, $i, $PrenomE[$i], $Nom[$i], $IdCE[$i]);
}
}
$req4 = ("SELECT NomClasse FROM Classe WHERE IdClasse = \"$IdCE[$i]\"");
$resultat4 = mysqli_query($bdd, $req4) or die ("Impossible d'envoyer requete classe eleve");
$nb4 = mysqli_num_rows($resultat4);
for($j = 0; $j < $nb4; $j++)
{
while($tableau4 = mysqli_fetch_array($resultat4))
{
$ClasseE[$j] = $tableau4[0];
}
}
printf("Bonjour %s %s <br>", $Prenom1, $Nom1);
if($nb2 == 1)
{
Printf("Parents de l'élève : %s %s en classe de %s <br>", $PrenomE[0], $NomE[0], $ClasseE[0]);
}
if($nb2 > 1)
{
printf("Parents des élèves : <br>");
for($i = 0; $i < $nb3; $i++)
{
printf("- %s %s %s <br>", $PrenomE[$i], $NomE[$i], $ClasseE[$j]);
}
} |
Voila, mais rien ne fonctionne comme je le souhaiterais.
Ma page affiche ceci (pour la partie du code que j'ai montré) :
Pièce jointe 566790
J’espère avoir été clair et que ma façon de coder ne va pas trop vous faire souffrir, je ne suis pas un expert (et j'ai appris de cette manière)(Je suis en BTS informatique) et j’espère surtout que vous pourrez m'aider.
Merci d'avance
Erwan