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 :
Oui, j'ai utilisé un "for" mais c'étais juste pour essayer, cela fait la même chose avec et sans.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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]); }
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 :
Voila, mais rien ne fonctionne comme je le souhaiterais.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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]); } }
Ma page affiche ceci (pour la partie du code que j'ai montré) :
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
Partager