Bonsoir,
J'ai un table residence où est inscrit 5 copropriétés du même quartier.
Je voudrais créer une liste déroulante affichant les information suivante :
nom du quartier avec le nombre de fois qu'il est présent dans la BDD
Coté requête SQL je sais que la fonctions suivantes :
- DISTINCT = affiche une fois une données présente x fois
- COUNT = permet d'afficher le nombre de fois qu'une donnée est présente.
Ce premier script affiche 5 lignes vierges alors qu'il devrait afficher le nom du quartier 5 fois:
Voici le résultat de ce script quand l'on clique pour voir le contenu de la liste déroulante :
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 <?php //VARIABLES DE CONNEXION BDD $dbhost = "127.0.0.1"; $dbuser = "root"; $dbpass = ""; $dbname = "immeuble"; $dbchar = "utf8"; //VARIABLES POUR LISTE DEROULANTE $liste_quartier = $_POST["liste_quartier"] ; //TENTATIVE DE CONNEXION PDO try { $pdo = new PDO('mysql:host='."$dbhost".';dbname='."$dbname".';'."$dbuser","$dbuser","$dbpass", array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES '".$dbchar."'")); $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); } catch (PDOException $e) { die($e->getMessage()); } //REQUETE SQL A EXECUTER //$reponse = $bdd->query('SELECT DISTINCT quartier (SELECT COUNT quartier FROM residence) FROM residence'); //$reponse = $bdd->query('SELECT COUNT(DISTINCT quartier) as quartier FROM residence'); //$reponse = $bdd->query('SELECT COUNT(DISTINCT quartier) AS quartier FROM residence groupe by quartier'); $sql="SELECT quartier FROM residence"; //PREPARATION ET EXECUTION DE LA REQUETE $stmt = $pdo->prepare($sql); //$stmt->execute(); ?> <!-- Liste deroulante MYSQL des Quartier --> <form method="post" action="liste deroulante.php"> <select name="liste_quartier"> <?php //SCRIPT DE RETOUR DES ENREGISTREMENTS EN BDD while ($result = $stmt->fetchAll()) { echo '<option value="'.$result["quartier"].'">'.$result["quartier"].'</option>'; } ?> </select> <input type="submit" value="Valider" /> </form>
A mon avis ce bug d'affichage doit être du à un problème de code. Mais je n'arrive pas à déceler où est le problème.
Partager