Bonjour,
Voilà, je débute en PHP et MySQL, mon site(en local) devrait d'ici l'année prochaine me servir à collecter des informations pour l'évaluation d'élèves. Si j'arrive à le mettre au point, je compte bien partager cette ressource avec tous mes collègues.
L'utilisateur entre ses élèves dans une table eleves via une interface en PHP :
id , nom , prenom , classe
Pour le moment tout va bien, j'ai suivi les cours en ligne.
La question de l'affichage de ces données n'est pas un problème en soit.
La difficulté est là :
Je souhaiterai effectuer un affichage par classe, donc ma requête ne doit extraire que les noms des élèves correspondant à la classe selectionnée dans le menu déroulant. Mais le problème, c'est que ce qui a été entrée dans la colonne "classe" de ma table "eleves" est potentiellement variable.
Je suppose que je dois exploiter : <option value=" '.$array['classe'].' " , mais comment ?
Mon code :
Merci, j'espère avoir été clair dans mes propos.
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
42
43
44
45
46
47 <?php include("connectbase.php"); // prise en compte du fichier de connexion à a la base de donnée connectevaluation(); //connexion à la base de donnée ?> <html> <head><title>Visualiser les eleves saisis</title><head> <body> <form name="select" method="post" action="read01.php"> <select name="choix"> <?php //Affichage des classes insérées dans la base de donnée par l'utilisateur $sql = mysql_query("SELECT distinct classe FROM eleves;") or die (mysql_error()); if ($sql) { while ($array = mysql_fetch_assoc($sql)) { if ($choix == $array["id"]) { echo '<option value="' . $array['id'] . '" selected>' . $array['classe'] . '</option>'; } else { echo '<option value="'.$array['id'] . '">' . $array['classe'] . '</option>'; } } } ?> </select> <input type="submit" name="valider" value="OK"> </form> </body> </html> <?php //Action après selection de la classe et clic sur le bouton "ok" if(isset($_POST['valider'])) { $sql = "SELECT * FROM eleves WHERE classe='$choix' ORDER BY nom"; $req = mysql_query($sql) or die('Erreur SQL !<br/>'.$sql.'<br/>'.mysql_error()); while ($data = mysql_fetch_array($req)) { echo '<b>'.$data['nom'].'</b> '.$data['prenom'].'<br/>'; //affiche ce qui a été récupéré } } mysql_close(); // on ferme la connexion mysql_free_result ; //on libère la mémoire si les données ne sont plus utiles pour la suite ?>
Partager