Problème de création de formulaire avec champs pré remplis
Résolu
slefevre77
Messages postés
33
Date d'inscription
Statut
Membre
Dernière intervention
-
slefevre77 Messages postés 33 Date d'inscription Statut Membre Dernière intervention -
slefevre77 Messages postés 33 Date d'inscription Statut Membre Dernière intervention -
Bonsoir,
J'ai un formulaire de ce type qui affiche un ascenseur dans lequel je sélectionne une ou plusieurs valeurs :
<input name="submit" type="submit" value="Ajouter" />
</FORM>
</code>
Je les insère dans une base de données, jusqu'à là tout va bien.
Mais comment écrire un formulaire qui affiche dans un ascenseur du même type toutes les valeurs possibles et pré sélectionne les valeurs récupérées dans la base de données (précédemment insérées) en vue d'un UPDATE afin de ne pas avoir à les re sélectionner si on ne fait aucun changement ?
Je n'arrive pour le moment qu'à afficher les valeurs insérées mais les autres valeurs possibles :
Par avance merci pour vos idées et aide pour la suite.
Sébastien
J'ai un formulaire de ce type qui affiche un ascenseur dans lequel je sélectionne une ou plusieurs valeurs :
<FORM id="add_film" method="post" action="add_film.php"> <p>Sélectionner le(s) Genre(s) du Film</p> <select name=genre[] size=7 multiple> <?php while($data_genre = $result_genre->fetch_array()) { $data_genres[] = $data_genre; } foreach($data_genres as $data_genre) { echo "<option value='$data_genre[genre]'>" . $data_genre['genre'] . "</option>"; } /* free result set */ $result_genre->close(); ?> <option value="new_genre"><input type="varchar" size="20" name="new_genre" style="width:150px"></option> </select>
<input name="submit" type="submit" value="Ajouter" />
</FORM>
</code>
Je les insère dans une base de données, jusqu'à là tout va bien.
Mais comment écrire un formulaire qui affiche dans un ascenseur du même type toutes les valeurs possibles et pré sélectionne les valeurs récupérées dans la base de données (précédemment insérées) en vue d'un UPDATE afin de ne pas avoir à les re sélectionner si on ne fait aucun changement ?
Je n'arrive pour le moment qu'à afficher les valeurs insérées mais les autres valeurs possibles :
<?php $genres = $data_infos_film["genres"]; $exp_genres = explode(', ', $genres); $nb_genres = count($exp_genres); ?> <FORM method=post action="update_film.php?id=<?php echo $id; ?>&page=<?php echo $page; ?>"> <p>Sélectionner le(s) Genre(s) du Film</p> <select name=genre[] size=7 multiple> <?php $nb = $nb_genres; $i = 1; $j = 0; while ($i <= $nb) { $exp_genre = explode(' ', $exp_genres[$j]); $array_genre = var_dump($exp_genre); echo "<option value='$exp_genre[0]'>" . $exp_genre[0] . "</option>"; $i++; $j++; } $result_genre->close(); ?> <input name="submit" type="submit" value="Modifier" /><br><br></div> </FORM>
Par avance merci pour vos idées et aide pour la suite.
Sébastien
Configuration: Windows / Firefox 95.0
A voir également:
- Problème de création de formulaire avec champs pré remplis
- Whatsapp formulaire opposition - Guide
- Formulaire de réclamation facebook - Guide
- Creation de compte google - Guide
- Creation de site web - Guide
- Création de compte gmail - Guide
4 réponses
Bonjour,
Tout simplement par ce que tu dois faire la même boucle que dans ton autre formulaire...
et y ajouter un IF/ELSE pour sélectionner la/les valeur(s) déjà enregistrées dans la bdd.
Tout simplement par ce que tu dois faire la même boucle que dans ton autre formulaire...
et y ajouter un IF/ELSE pour sélectionner la/les valeur(s) déjà enregistrées dans la bdd.
Bonjour,
Pour remettre toutes les valeurs possibles dans l'ascenseur, OK.
Mais dans la bouche IF je trouve l'une des valeurs insérées précédemment ...... (Quelle commande ?) pour la sélectionner dans la liste ?
C'est la sélection que je ne sais pas faire.
Lors d'un ajout je sélectionnes les valeurs à la souris avec la touche CTRL enfoncée si plusieurs valeurs.
Mais pour re sélectionner ces valeurs, en ligne de commande je ne connais pas la fonction.
Peux-tu m'éclairer un peu plus ?
Pour remettre toutes les valeurs possibles dans l'ascenseur, OK.
Mais dans la bouche IF je trouve l'une des valeurs insérées précédemment ...... (Quelle commande ?) pour la sélectionner dans la liste ?
C'est la sélection que je ne sais pas faire.
Lors d'un ajout je sélectionnes les valeurs à la souris avec la touche CTRL enfoncée si plusieurs valeurs.
Mais pour re sélectionner ces valeurs, en ligne de commande je ne connais pas la fonction.
Peux-tu m'éclairer un peu plus ?
J'ai réglé mon problème avec des mots clés mieux adaptés dans GOOGLE :-)
En fait ce que je ne savais pas c'est : selected='selected'
dans la balise <option> pour sélectionner une valeur.
Donc mon code devient :
En fait ce que je ne savais pas c'est : selected='selected'
dans la balise <option> pour sélectionner une valeur.
Donc mon code devient :
<?php $genres = $data_infos_film["genres"]; $exp_genres = explode(', ', $genres); $nb_genres = count($exp_genres); ?> <FORM method=post action="update_film.php?id=<?php echo $id; ?>&page=<?php echo $page; ?>"> <p>Sélectionner le(s) Genre(s) du Film</p> <select name=genre[] size=7 multiple> <?php $nb = $nb_genres; while($data_genre = $result_genre->fetch_assoc()) { $data_genres[] = $data_genre; } foreach($data_genres as $data_genre) { $i = 1; $j = 0; $k = 0; while ($i <= $nb) { $exp_genre = explode(' ', $exp_genres[$j]); $array_genre = var_dump($exp_genre); if ($data_genre[genre] == $exp_genre[0]) { echo "<option value='$data_genre[genre]' selected='selected'>" . $data_genre[genre] . "</option>"; $k++; } $i++; $j++; } if ($k == 0) { echo "<option value='$data_genre[genre]'>" . $data_genre['genre'] . "</option>"; } } /* free result set */ $result_genre->close(); ?> </select> <input name="submit" type="submit" value="Modifier" /><br><br></div> </FORM>