Charger données d'une base données dans un formulaire en php
Glo10
-
jordane45 Messages postés 38486 Date d'inscription Statut Modérateur Dernière intervention -
jordane45 Messages postés 38486 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour à tous
Je suis en train de travail sur une application web mais suis bloqué quand j’ai voulu récupérer mes données dans la base de données et les charger dans un formulaire à l’aide de <select> .
include("../models/chaine.php");
$req1="SELECT LibelleInfract from infraction ";
$resulta=$db->query($req1);
$donn=$resulta->fetch(PDO::FETCH_ASSOC);
<select class="liste_infract" name="listeInfraction" size="5" required="required" multiple>
<option value="00">Sélectionnez les infractions</option>
<?php
foreach ($donn as $val) {
# code...
echo "<option>".$val."</option><br>";
}
?>
</select>
Au lieu que ça de charger tous les éléments, il charge seulement le premier élément.
Je suis en train de travail sur une application web mais suis bloqué quand j’ai voulu récupérer mes données dans la base de données et les charger dans un formulaire à l’aide de <select> .
include("../models/chaine.php");
$req1="SELECT LibelleInfract from infraction ";
$resulta=$db->query($req1);
$donn=$resulta->fetch(PDO::FETCH_ASSOC);
<select class="liste_infract" name="listeInfraction" size="5" required="required" multiple>
<option value="00">Sélectionnez les infractions</option>
<?php
foreach ($donn as $val) {
# code...
echo "<option>".$val."</option><br>";
}
?>
</select>
Au lieu que ça de charger tous les éléments, il charge seulement le premier élément.
A voir également:
- Charger données d'une base données dans un formulaire en php
- Fuite données maif - Guide
- Whatsapp formulaire opposition - Guide
- Supprimer les données de navigation - Guide
- Trier des données excel - Guide
- Sauvegarde des données - Guide
2 réponses
Bonjour,
Déjà, Pour poster ton code sur le forum, tu dois utiliser les BALISES DE CODE.
Explications ( à lire ENTIEREMENT !! ) disponibles ici : https://codes-sources.commentcamarche.net/faq/11288-poster-un-extrait-de-code
Ensuite, vu que travailles en PDO, pense à gérer les éventuelles erreurs liées aux requêtes
https://forums.commentcamarche.net/forum/affich-37584941-php-pdo-gerer-les-erreurs
Puis, juste après ton fetchAll, fais donc un print_r de ta variables pour voir ce qu'elle contient.
Il serait pas mal également que tu t'assures qu'en BDD tu as bien les mêmes résultats (en testant ta requête DIRECTEMENT dans ta bdd (via l'onglet "requete" de ton phMyadmin ))
A priori, rien, dans ton code actuel, ne "limiterait" le nombre de données affichées...
Juste par précaution, tu pourrais ajouter un htmlspecialchars dans ta boucle ( au cas où tu aurais des données contenant des caractères spéciaux et/ou des apostrophes )
EDIT : Correction $val['LibelleInfract']
Déjà, Pour poster ton code sur le forum, tu dois utiliser les BALISES DE CODE.
Explications ( à lire ENTIEREMENT !! ) disponibles ici : https://codes-sources.commentcamarche.net/faq/11288-poster-un-extrait-de-code
Ensuite, vu que travailles en PDO, pense à gérer les éventuelles erreurs liées aux requêtes
https://forums.commentcamarche.net/forum/affich-37584941-php-pdo-gerer-les-erreurs
Puis, juste après ton fetchAll, fais donc un print_r de ta variables pour voir ce qu'elle contient.
echo "<pre>"; print_r($donn); echo "</pre>";
Il serait pas mal également que tu t'assures qu'en BDD tu as bien les mêmes résultats (en testant ta requête DIRECTEMENT dans ta bdd (via l'onglet "requete" de ton phMyadmin ))
A priori, rien, dans ton code actuel, ne "limiterait" le nombre de données affichées...
Juste par précaution, tu pourrais ajouter un htmlspecialchars dans ta boucle ( au cas où tu aurais des données contenant des caractères spéciaux et/ou des apostrophes )
<select class="liste_infract" name="listeInfraction" size="5" required="required" multiple> <option value="00">Sélectionnez les infractions</option> <?php foreach ($donn as $val) { echo "<option value='".htmlspecialchars ($val['LibelleInfract'])."'>".htmlspecialchars ($val['LibelleInfract'])."</option>"; } ?> </select>
EDIT : Correction $val['LibelleInfract']