Bonjour à tous,
Par avance, je préfère m'excuser si ma question est idiote mais l'apprentissage en autodidacte peu avoir ces failles.
Mon problème est le suivi, je souhaite injecter ma liste déroulante d'un résultat récupéré de ma BDD ( en l'occurrence le résultat est "Clos margaux").
Le problème est que si je liste des valeurs en "dur" dans la balise option, tout se passe bien et chaque résultat est visible dans ma liste déroulante.. Par contre, quand j'interroge ma BDD pour rajouter une value, tout le résultat se mets à côté et je ne l'explique pas...
Voici le code html/php (ci-joint):
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
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84 <!DOCTYPE html> <html lang="en" dir="ltr"> <head> <meta charset="utf-8"> <title>Star Rating Form | CodingNepal</title> <link rel="stylesheet" href="notes.css"> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.3/css/all.min.css" /> <link href="https://emoji-css.afeld.me/emoji.css" rel="stylesheet"> </head> <body> <div class="container"> <div class="post"> <div class="text">Thanks for rating us!</div> <div class="edit">EDIT</div> </div> <div class="star-widget"> <input type="radio" name="rate" id="rate-5"> <label for="rate-5" class="fas fa-star"></label> <input type="radio" name="rate" id="rate-4"> <label for="rate-4" class="fas fa-star"></label> <input type="radio" name="rate" id="rate-3"> <label for="rate-3" class="fas fa-star"></label> <input type="radio" name="rate" id="rate-2"> <label for="rate-2" class="fas fa-star"></label> <input type="radio" name="rate" id="rate-1"> <label for="rate-1" class="fas fa-star"></label> <form action="#"> <header></header> <div class="textarea"> <textarea cols="30" placeholder="Qu'as-tu pensé de ce restaurant.."></textarea> </div> <div class="formulaire"> <label for="lang">Restaurant</label> <select name="languages" id="lang"> <?php $bdd = new PDO('mysql:host=localhost;dbname=restaurant', 'root', ''); $sql = "SELECT libelle FROM restaurant"; $stmt = $bdd->prepare($sql); $stmt->execute(); $results = $stmt->fetchAll(PDO::FETCH_ASSOC); if ($stmt->rowCount() > 0) { ?> <select name="fileselect"> <?php foreach ($results as $row) { ?> <option value="<?php echo $row['libelle']; ?>"><?php echo $row['libelle']; ?></option> <?php } ?> <?php } ?> <option value="php">PHP</option> <option value="java">Java</option> <option value="golang">Golang</option> <option value="python">Python</option> <option value="c#">C#</option> <option value="C++">C++</option> <option value="erlang">Erlang</option> </select> <input type="submit" value="Submit" /> </div> <div class="btn"> <button type="submit">Post</button> </div> </form> </div> </div> <script> const btn = document.querySelector("button"); const post = document.querySelector(".post"); const widget = document.querySelector(".star-widget"); const editBtn = document.querySelector(".edit"); btn.onclick = () => { widget.style.display = "none"; post.style.display = "block"; editBtn.onclick = () => { widget.style.display = "block"; post.style.display = "none"; } return false; } </script> </body> </html>
Le résultat :
Alors que sans cet ajout donc en supprimant la partie PHP, tout est propre :
En espérant avoir vos lumières :$
Br,
Partager