Bonjour,
Je suis enseignante débutante en NSI (réforme du lycée) et je fais ma première rentrée en sepatembre.
Pour que je puisse faire cours en septembre, le rectorat nous a fait suivre une formation de 4 h sur la programmation Web (côté serveur) et nous demande de rendre un exercice.
J'ai prévu de continuer ma formation en autonomie pendant l'été (avec les tutoriels et livres que j'ai trouvé) mais là j'ai besoin de votre aide.
Voici l'énoncé de l'exercice:
"Modifiez rechercheProduits.html de telle sorte que l'internaute puisse spéecifier :
- soit une catégorie ;
- soit un nom de marque ;
- soit une catégorie et un nom de marque ;
- soit ni l'une, ni l'autre."
Voici les fichiers à notre disposition avec la création d'une base de données "superventes" avec une table "produits" comportant numProduit, catégorie, nom, marque, prix.
- rechercheProduitsParCategorie.html
Code html : 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 <html> <head> <title> Recherche des produits par catégorie </title> <meta charset="UTF-8" /> </head> <body> <center> Recherche des produits par catégorie <br/><br/> <form action="http://localhost/listeProduitsParCategorie.php"> <select name="catégorie"> <option> téléphone </option> <option> tablette </option> <option> écouteurs </option> </select> <br/><br/> <input type="submit" value="VALIDEZ" /> </form> </center> </body> </html>
- listeProduitsParCategorie.php
Code html : 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 <html> <head> <title> Liste des produits par catégorie </title> <meta charset="UTF-8" /> </head> <body> <h3> Liste des produits par catégorie ! </h3> <?php $WHERE = ""; if (isset($_GET['catégorie'])) { $WHERE = "WHERE catégorie='".$_GET['catégorie']."'"; } $sql = "SELECT * FROM produits $WHERE;"; /* echo $sql; Pour le déboguage */ $dsn = 'mysql:host=localhost;dbname=superventes;charset=UTF8'; $username = 'root'; $password = ''; $dbh = new PDO($dsn, $username, $password) or die("Pb de connexion !"); $sth = $dbh->prepare($sql); $sth->execute(); $result = $sth->fetchAll(); echo "<ul>"; foreach ($result as $enr) { echo "<li>".$enr['nom']." de marque ".$enr['marque']." : ".$enr['prix']." euros</li>"; } echo "</ul>"; ?> </body> </html>
Voici ce que j'ai fait pour l'instant, il me semble avoir répondu aux deux premières étapes de l'exercice (je ne suis pas sûr) mais je bloque pour le reste (manque de temps important pour faire des recherches plus poussées qui seront faites après):
- la page html: (rechercheProduits.php)
Code html : 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 <html> <head> <title> Recherche des produits par catégorie ou marque </title> <meta charset="UTF-8" /> </head> <body> <center> Recherche des produits par catégorie ou marque <br/><br/> <form action="http://localhost/listeProduitsParCategorieMarque.php"> <select name="catégorie"> <option> toutes les catégories </option> <option> téléphone </option> <option> tablette </option> <option> écouteurs </option> </select> <br/><br/> <form action="http://localhost/listeProduitsParCategorieMarque.php"> <select name="marque"> <option> toutes les marques </option> <option> Samsung </option> <option> Apple </option> <option> Archos </option> </select> <br/><br/> <input type="submit" value="VALIDEZ" /> </form> </center> </body> </html>
- le scrip l'appel de la base de données avec la sélection des critères (listeProduitsParCategorieMarque.php):
Code html : 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
48
49
50
51
52
53
54 <html> <head> <title> Liste des produits par catégorie et/ou marque </title> <meta charset="UTF-8" /> </head> <body> <?php $WHERE = ""; if (isset($_GET['catégorie'])) { $WHERE = "WHERE catégorie='".$_GET['catégorie']."'"; } $sql = "SELECT * FROM produits $WHERE;"; /* echo $sql; Pour le déboguage */ $dsn = 'mysql:host=localhost;dbname=superventes;charset=UTF8'; $username = 'root'; $password = ''; $dbh = new PDO($dsn, $username, $password) or die("Pb de connexion !"); $sth = $dbh->prepare($sql); $sth->execute(); $result = $sth->fetchAll(); echo "<ul>"; foreach ($result as $enr) { echo "<li>".$enr['nom']." de marque ".$enr['marque']." : ".$enr['prix']." euros</li>"; } echo "</ul>"; ?> <?php $WHERE = ""; if (isset($_GET['marque'])) { $WHERE = "WHERE marque='".$_GET['marque']."'"; } $sql = "SELECT * FROM produits $WHERE;"; /* echo $sql; Pour le déboguage */ $dsn = 'mysql:host=localhost;dbname=superventes;charset=UTF8'; $username = 'root'; $password = ''; $dbh = new PDO($dsn, $username, $password) or die("Pb de connexion !"); $sth = $dbh->prepare($sql); $sth->execute(); $result = $sth->fetchAll(); echo "<ul>"; foreach ($result as $enr) { echo "<li>".$enr['nom']." catégorie".$enr['catégorie']." : ".$enr['prix']." euros</li>"; } echo "</ul>"; ?> </body> </html>
Merci beaucoup pour votre aide.
Partager