Conserver sélection d'un menu déroulant après une soumission
JeremyBel
-
jordane45 Messages postés 40050 Statut Modérateur -
jordane45 Messages postés 40050 Statut Modérateur -
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
- L'indice n'appartient pas à la sélection vba - Forum VB / VBA
- Canon quick menu - Télécharger - Utilitaires
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