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 :

Mettre un champ selected dans un formulaire de type select [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre éprouvé
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    112
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mars 2003
    Messages : 112
    Par défaut Mettre un champ selected dans un formulaire de type select
    Bonjour,

    J'ai un formulaire qui dedans à un champ select avec plusieurs options. Lorsque le client clique sur l'option modification, je vais chercher tous les éléments de la base de données et j'insère dans les champs les valeurs de la base de données afin de pouvoir les modifier.

    La seule façon que j'ai trouvé de mettre une option à selected est avec le code suivant, que je met pour chaque option:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <? if(strcmp($candidat['REGION'],"08 Abitibi-Témiscamingue")==0)
    							{echo("selected");} ?>
    Si c'est la region 09, alors je vais changer 08 ... par 09... et ainsi de suite.

    Je ne trouve pas cela très optimal alors je demandais votre avis s'il existe une solution plus optimal.

    Merci d'avance.

  2. #2
    Membre éclairé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2007
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juillet 2007
    Messages : 46
    Par défaut
    Salut!

    Je dois t'avouer que je n'ai pas trouvé d'autres moyens.
    Utilisant une base MySQL pour le menu déroulantm j'utilise donc la fonction while qui me permet de ne répeter qu'une seule fois l'opération... Mais je ne suis pas sur que ça optimise le script... En tout cas mon âme de fainéant est ravi! héhé!

    M'enfin si vous avez d'autres solutions, je suis preneur aussi.

  3. #3
    Membre averti
    Inscrit en
    Juillet 2006
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 16
    Par défaut
    Salut,

    Moi j'utilise une fonction, la voici :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
     
    /**
     * Crée une liste déroulante
     * 
     * @param $name nom de la liste déroulante
     * @param $valeurs tableau de valeurs
     * @param $alts tableau d'alias
     * @param $valeur valeur par défaut
     * @param $onChange événement JS onChange
     * 
     * @return string
     */
    function add_combobox($name, $valeurs, $alts = false, $valeur = "", $onChange = "")
    {
    	if ($onChange == "")
    		$elem = "<select name=\"$name\">\n";
    	else
    		$elem = "<select name=\"$name\" onChange=\"$onChange\">\n";
     
    	for ($i = 0 ; $i < count($valeurs) ; $i++)
    	{
    		if (is_array($alts))
    		{
    			$selected = "";
    			if ($valeur != "" && $valeur == $alts[$i])
    				$selected = "selected=\"selected\"";
     
    			$elem .= "<option $selected value=\"" . $alts[$i] . "\">" . $valeurs[$i] . "</option>\n";
    		}
    		else
    		{
    			$selected = "";
    			if ($valeur != "" && $valeur == $valeurs[$i])
    				$selected = "selected=\"selected\"";
     
    			$elem .= "<option $selected>" . $valeurs[$i] . "</option>\n";
    		}
    	}
     
    	$elem .= "</select>\n";
    	return($elem);
    }
    Pour l'utiliser :

    echo add_combobox('nomchamp', array('Libellé1', 'Libellé2'), array('val1', 'val2'), 'val2');

    Ca créera une balise "select" avec la 2e valeur sélectionnée.

    C'est perfectible mais ça devrait faire le boulot...

  4. #4
    Membre éprouvé
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    112
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mars 2003
    Messages : 112
    Par défaut
    Merci pour vos réponse

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

Discussions similaires

  1. [Drupal] Selectionner une valeur par défaut dans un formulaire de type select
    Par clem9085 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 1
    Dernier message: 20/11/2014, 14h28
  2. Réponses: 7
    Dernier message: 28/11/2012, 17h03
  3. Réponses: 2
    Dernier message: 23/05/2012, 23h23
  4. Modification d'un champ select dans un formulaire
    Par bachboucha dans le forum Langage
    Réponses: 3
    Dernier message: 06/05/2009, 15h46
  5. Mettre un champ Blob dans un Group By
    Par WebPac dans le forum SQL
    Réponses: 1
    Dernier message: 17/08/2005, 18h03

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