IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Ménu déroulant, input, value, form [MySQL]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    202
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2008
    Messages : 202
    Par défaut Ménu déroulant, input, value, form
    Bonjour à tous,

    je travaille sur formulaire et il y a aussi sur un menu déroulant ou les informations sont stocké dans une base de donnée

    Je récupère les informations en get, et lorsque la page ce charge et quand il manque des informations, les informations sont bien stocké dans la value des champs input, pour éviter de re écrire les informations
    exemple:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="text" class="form-control" id="description" name="description" value="<?php if (isset($_POST['description'])){echo $_POST['description'];} ?>" placeholder="Description de la catégorie"
    Mais si je veux faire pareil pour mon menu déroulant ça ne fonctionne pas

    on vois bien l'information -- Sélectionner votre catégorie --

    mais quand je fait un submit, on vois la valeur choisir et aussi -- Sélectionner votre catégorie --, ça donne cela : Services - -- Sélectionner votre catégorie --
    mais je veux qu'on vois juste le nom de la catégorie c'est à dire Services.

    Pouvez vous me dire si il y a quelque chose qui cloche dans ce code? l'idéal est de placer un placeholder dans le input options mais il ne fonctionne pas il me semble

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <select class="form-control" id="nom_cat" name="nom_cat">
    	<option value="<?php if (isset($_POST['nom_cat'])){echo $_POST['nom_cat'];} ?>"><?php echo $_POST['nom_cat'];?>-- Selectionner votre catégorie --</option>
    	<?php 
    		$userData = $db->prepare("SELECT * FROM data_cat");
    		$userData->execute();
    	        while($nom_cat_row = $userData->fetch(PDO::FETCH_ASSOC))
    					                    {		
    	?>
    <option value="<?php echo $nom_cat_row['nom_cat'];?>"><?php echo $nom_cat_row['nom_cat'];?></option>
    <?php }?>
    </select>
    Merci

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <?php echo $_POST['nom_cat'];?>-- Selectionner votre catégorie --
    Ton code fait exactement ce qui tu lui as demandé : il affiche "nom_cat" avant "selectionner votre catégorie"


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <select class="form-control" id="nom_cat" name="nom_cat">
    	<option value="">-- Selectionner votre catégorie --</option>
    	<?php 
    		$userData = $db->query("SELECT * FROM data_cat");
    	        while($nom_cat_row = $userData->fetch(PDO::FETCH_ASSOC))     {	
                           $selected = (isset($_POST['nom_cat']) && $_POST['nom_cat'] == $nom_cat_row['nom_cat']) ? ' selected="selected" ' : '';
                           ?><option value="<?php echo $nom_cat_row['nom_cat'];?>"<?php echo $selected; ?>><?php echo $nom_cat_row['nom_cat'];?></option>
    <?php }?>
    </select>
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Par défaut
    Comment conserver la sélection d'un menu déroulant après une soumission ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <select class="form-control" id="nom_cat" name="nom_cat">
    	<option value="">-- Selectionner votre catégorie --</option>
    	<?php 
    		$userData = $db->prepare("SELECT * FROM data_cat");
    		$userData->execute();
    	        while($nom_cat_row = $userData->fetch(PDO::FETCH_ASSOC))
    					                    {		
    	?>
    <option value="<?php echo $nom_cat_row['nom_cat'];?>" <?php if (isset($_POST['nom_cat']) && $nom_cat_row['nom_cat']==$_POST['nom_cat']){echo 'selected';}?>><?php echo $nom_cat_row['nom_cat'];?></option>
    <?php }?>
    </select>
    Au passage et sans rapport direct avec la question, si tu préfères écrire du HTML en ouvrant/fermant les balises PHP uniquement quand tu es as besoin, tu peux t'intéresser à la Syntaxe alternative pour les structures de contrôles, histoire d'éviter d'avoir des accolades fermantes toutes seules dont tu ne sais plus à quelle ouverture elles se rappportent.
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    202
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2008
    Messages : 202
    Par défaut
    Merci Sabotage, ça fonctionne très bien, j'ai pas penser ainsi.
    j’étais trop concentré sur un autre détails et perdu l'est

    Merci Célira pour les suggestions

    bonne journée

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. texte du form:input value dans i18n
    Par need2learn dans le forum Spring Web
    Réponses: 1
    Dernier message: 23/04/2013, 09h35
  2. Le innerHTML de Mozilla ne prend pas les contenus des champs INPUT.value
    Par Ekimasu dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 22/05/2007, 15h56
  3. input value default
    Par drKzs dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 28/08/2006, 18h41
  4. Liste déroulante et plusieurs form ?
    Par isa150183 dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 12/08/2006, 19h21
  5. Réponses: 8
    Dernier message: 24/02/2006, 09h59

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo