Conserver sélection d'un menu déroulant après une soumission
JeremyBel
-
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,
Comme le titre l'indique je cherche à savoir comment conserver la sélection d'un menu déroulant après une soumission. Je sais comment faire, il sufit de faire comme suit :
Cependant je cherche à le faire via une base de données MySQL. Donc au lieu de remplir à la main les value une boucle le fait.
Mon code est le suivant il fonctionne sans la conservation de la sélection de mon menu déroulant après une soumission.
Voici mon code :
Merci par avance de votre aide
Comme le titre l'indique je cherche à savoir comment conserver la sélection d'un menu déroulant après une soumission. Je sais comment faire, il sufit de faire comme suit :
<?php $selected = isset( $_POST['prenom'] ) ? $_POST['prenom'] : "" ; $selectedValue = 'selected="selected"'; ?>
<form method="post" > <select name="prenom"> <option value="Jean" <?php if( $selected == "Jean" ) echo $selectedValue ?>>Jean</option> <option value="Bob" <?php if( $selected == "Bob" ) echo $selectedValue ?>>Bob</option> <option value="Marie" <?php if( $selected == "Marie" ) echo $selectedValue ?>>Marie</option> <option value="Charlotte" <?php if( $selected == "Charlotte" ) echo $selectedValue ?>>Charlotte</option> </select> <br/> <input type="submit" value="Envoyer"/> </form>
Cependant je cherche à le faire via une base de données MySQL. Donc au lieu de remplir à la main les value une boucle le fait.
Mon code est le suivant il fonctionne sans la conservation de la sélection de mon menu déroulant après une soumission.
Voici mon code :
// Connexion à ma BDD $bdd = new PDO('mysql:host=***;dbname=***;charset=utf8', '***', '***', array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION)); // Récupération et affichage de données de ma base $info = $bdd->prepare('SELECT id, message FROM table'); $info->execute(); while ($donnees = $info->fetch()) { echo '<div style="border:1px solid black; margin:10px; padding:5px;">'; echo "<table><tr><td>"; echo $donnees['id']; echo "</td><td>"; echo $donnees['message']; echo "</td></tr></table>"; echo '</div>'; } // Création du menu déroulant echo "<select name='Liste'> <option>Choisir</option>"; $num = $bdd->query("SELECT id FROM table"); while ($id = $num->fetch()) { echo "<option value='.$id[id].'>".$id['id']."</option>"; } echo "</select>"; <input type="submit" name="Modifier"> f(isset($_POST['Modifier'])) { $nume = $_POST['Liste']; // Affiche ce que j'ai selectionné dans le menu déroulante echo $nume; }
// Création d'une zone de texte affichant une donnée de ma base <textarea name='edit'> <?php echo $message;?> </textarea> // Second bouton submit <input name='Enregistrer' type='submit' value='Enregistrer'> <?php // Lorsque j'appui sur le second bouton je voudrais afficher le message de ma textarea (c'est ok) et le numéro selectionné dans mon menu déroulent (ce que je cherche à faire) if(isset($_POST['Enregistrer'])) { $newMessage = $_POST['edit']; echo $newMessage; echo $nume;
Merci par avance de votre aide
A voir également:
- Conserver sélection d'un menu déroulant après une soumission
- Menu déroulant excel - Guide
- Excel menu déroulant en cascade - Guide
- Menu déroulant google sheet - Accueil - Guide bureautique
- Supprimer menu déroulant excel - Forum Word
- Effacer le contenue d'une cellule avec liste déroulante - Forum Excel
3 réponses
Bonjour,
Pourrais-tu me dire comment comment faire je ne connait pas beaucoup AJAX ni JSON
Le PHP me le permet pas ?
Cordialement
Pourrais-tu me dire comment comment faire je ne connait pas beaucoup AJAX ni JSON
Le PHP me le permet pas ?
Cordialement
Bonjour,
$selected = !empty( $_POST['prenom'] ) ? $_POST['prenom'] : "" ; // ... while ($id = $num->fetch()) { $selectedValue = $id['id'] == $selected ? 'selected="selected"' : "" ; echo "<option value='".$id['id']."' " . $selectedValue . ">".$id['id']."</option>"; }
Au passage, je t'invite également à lire ET à appliquer les conseils donnés dans les liens suivants :
https://forums.commentcamarche.net/forum/affich-37584947-php-gestion-des-erreurs-debogage-et-ecriture-du-code
et https://forums.commentcamarche.net/forum/affich-37584941-php-pdo-gerer-les-erreurs
https://forums.commentcamarche.net/forum/affich-37584947-php-gestion-des-erreurs-debogage-et-ecriture-du-code
et https://forums.commentcamarche.net/forum/affich-37584941-php-pdo-gerer-les-erreurs