Liste déroulantes dépendantes d'une base de données
Résolu
modemo2018
Messages postés
226
Date d'inscription
Statut
Membre
Dernière intervention
-
modemo2018 Messages postés 226 Date d'inscription Statut Membre Dernière intervention -
modemo2018 Messages postés 226 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je suis entrain de créer un site et je voudrai faire une liste déroulante dynamique, voici le code:
Le problème est que lorsque je teste la BDD, rien s'affiche, qd j'enlève la conditions WHERE, la liste reconnais les données mais n'affiche toujours rien.
Quelqu'un peut-il me dire pourquoi mes infos de BDD ne s'affiche pas, quelqu'un peut-il m'aidé SVP?
Je suis entrain de créer un site et je voudrai faire une liste déroulante dynamique, voici le code:
<label class="font-weight-bold" for="fullname">Séléctionnez Matières </label> <select name="nomat" id="nomat" class="form-control"> <?php //recherche de la liste des matières de cete classe $class = !empty ( $_GET['class'] ) ? $_GET['class'] : NULL; try { $req1 = $bdd->prepare('SELECT * FROM matiere WHERE nomat = ?'); $req1->execute(array($class)); //Somme des élèves de la classe } catch(Exception $e) { die('Erreur : '.$e->getMessage()); } while($don = $req1->fetch()){ ?> <option value="<?php echo $don['nomat']; ?>"> <?php $don['nomat']; ?></option> <?php } ?> </select>
Le problème est que lorsque je teste la BDD, rien s'affiche, qd j'enlève la conditions WHERE, la liste reconnais les données mais n'affiche toujours rien.
Quelqu'un peut-il me dire pourquoi mes infos de BDD ne s'affiche pas, quelqu'un peut-il m'aidé SVP?
A voir également:
- Liste déroulantes dépendantes d'une base de données
- Liste déroulante excel - Guide
- Fuite données maif - Guide
- Liste déroulante en cascade - Guide
- Base de registre - Guide
- Supprimer les données de navigation - Guide
1 réponse
Bonjour,
Si tu veux afficher la liste des matières d'une classe... pourquoi faire ton where sur le champ nomat ??
Je pense que ce que tu veux faire c'est ça
Si tu veux afficher la liste des matières d'une classe... pourquoi faire ton where sur le champ nomat ??
Je pense que ce que tu veux faire c'est ça
$class = !empty ( $_GET['class'] ) ? $_GET['class'] : NULL; if($class){ $sql = 'SELECT * FROM matiere WHERE class`class` = ?'; $datas = array($class); try{ $req = $bdd->prepare($sql); $req->execute($datas); $arrMat = $req->fetchAll(); //on stocke le résultat dans un array }catch(Exception $e){ die('Erreur : '.$e->getMessage()); } }else{ echo "<br><span>Variable 'class' vide !</span>"; } ?> <label class="font-weight-bold" for="fullname">Séléctionnez Matières </label> <select name="nomat" id="nomat" class="form-control"> <?php if(!empty($arrMat)){ foreach($arrMat as $don){ echo "<option value='".$don['idmat']."'>".$don['nomat']."</option>"; } } ?> </select>
Erreur : SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '`class` = 'CM2 '' at line 1
comment puis-je faire pour corriger une telle erreur, stp?
L'erreur s'etait cette syntaxe
" class`class` = ?"