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 :

Faire apparaître la sélection d'une liste déroulante dans une zone de texte


Sujet :

PHP & Base de données

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    70
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2008
    Messages : 70
    Points : 31
    Points
    31
    Par défaut Faire apparaître la sélection d'une liste déroulante dans une zone de texte
    Le problème a été souvent soulevé dans les forum, mais je n'arrive pas à trouver la bonne solution.
    J'ai un combo reprenant des données provenant d'easyphp. A chacune de ces données, correspond un nom provenant d'une autre table. Par exemple, pour C PAR cela correspond à Partenaire.
    Je ne peux pas mettre directement les données de la table reprenant le nom Partenaire car les données reprises dans mon combo (C PAR ...) vont être utilisées et récupérées sur une autre page.
    Je dois donc absolument avoir un combo avec les données C PAR ...ce que j'ai , mais je voudrais que le nom correspondant à la donnée choisie apparaisse dans un textarea sur la même page (je ne me servirai pas de ce qui apparaîtra dans ce textarea, mais c'est juste pour avoir un contrôle de la donnée choisie).
    Je ne peux pas non plus le mettre en dur car les données évoluent.
    Voici le code de mon combo :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <?echo "<SELECT Name=Zonana1 Size=1><OPTION Value=0>Choisir le département</OPTION>";
    	$sqldep2= "SELECT DISTINCT Zonana1 FROM data_ant  WHERE Zonana1 != ''  ORDER BY Zonana1 ASC";
    	$repdep2= mysql_query($sqldep2);
     
    	while($ligne_liste=mysql_fetch_array($repdep2)){
    	echo "<OPTION Value=\"".$ligne_liste['Zonana1']."\">".$ligne_liste['Zonana1']."</OPTION>";
    	}
    Merci à vous pour votre aide

  2. #2
    Membre confirmé
    Développeur Web
    Inscrit en
    Avril 2005
    Messages
    397
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Avril 2005
    Messages : 397
    Points : 518
    Points
    518
    Par défaut
    Salut,
    Peux-tu décrire ton problème plus clairement.
    Zend PHP5 Certification
    MySQL 4 Core Certification

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    70
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2008
    Messages : 70
    Points : 31
    Points
    31
    Par défaut
    Bonsoir,

    Je voudrais que via mon combo il affiche le détail qui correspond à ce département avec mon code ci dessous.
    En fait avec ce code j'obtient juste le départment ex : C PAR et je voudrais qu'il m'affiche dans un textarea le nom correspondant.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <?echo "<SELECT Name=Zonana1 Size=1><OPTION Value=0>Choisir le département</OPTION>";
    	$sqldep2= "SELECT DISTINCT Zonana1 FROM data_ant  WHERE Zonana1 != ''  ORDER BY Zonana1 ASC";
    	$repdep2= mysql_query($sqldep2);
     
    	while($ligne_liste=mysql_fetch_array($repdep2)){
    	echo "<OPTION Value=\"".$ligne_liste['Zonana1']."\">".$ligne_liste['Zonana1']."</OPTION>";
    	}

  4. #4
    Membre confirmé
    Développeur Web
    Inscrit en
    Avril 2005
    Messages
    397
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Avril 2005
    Messages : 397
    Points : 518
    Points
    518
    Par défaut
    Tu ne peux pas modifier la requête pour quelle récupère le nom en même temps ?
    Zend PHP5 Certification
    MySQL 4 Core Certification

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    70
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2008
    Messages : 70
    Points : 31
    Points
    31
    Par défaut
    Je fais sa comment ? c'est justement sa que je voudrais faire.

    Merci encore pour votre aide

  6. #6
    Membre actif Avatar de MicaelFelix
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2006
    Messages
    254
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2006
    Messages : 254
    Points : 221
    Points
    221
    Par défaut
    Est-ce que ton champ multiligne est vraiment nécessaire?

    Si je comprends bien tu as dans la TABLE1 un champ qui est en fait une clé d'une TABLE2 ?
    Bref dans TABLE1 ta clé est une sorte d'abréviation, c'est ça? Et la TABLE2 dont tu parles en disant "un nom provenant d'une autre table" c'est la table qui contient la description de ta clé (abréviation) ?

    Si tu veux le faire en SQL et que ton DISTINCT est vraiment nécessaire, moi je ferai simplement un INNER JOIN du style :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT maRequete.Zonana1, maTable2.Description FROM (SELECT DISTINCT Zonana1 FROM data_ant  WHERE Zonana1 != ''  ORDER BY Zonana1 ASC)maRequete INNER JOIN maTable2 ON maRequete.Zonana1 = maTable2.Zonana1
    Bien sûr maTable2 et Description sont à changer par les noms que tu utilises.
    Ensuite tu n'auras qu'à récupérer $ligne_liste["Description"], et tu éviterais ainsi une complication avec un champ du style multiligne.

    Ou bien est-ce que le multiligne est NÉCESSAIRE?
    Si c'est le cas, tu veux surement avoir une combo qui contrôle le multiligne, mais ça c'est une autre histoire... au pire fait une page avec deux étapes : première étape tu sélectionnes le COMBO, deuxième étape tu réaffiches la page avec le champ multiligne rempli.

    Si tu veux faire tout ça mais sans deux étapes, il faut aller voir côté Ajax ou bien stockage des données dans une variable Javascript, mais cette dernière possibilité n'est pas très performante surtout si tu as beaucoup de colonnes clés (des centaines).

    En espérant t'avoir aidé

    A+

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    70
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2008
    Messages : 70
    Points : 31
    Points
    31
    Par défaut
    Bonjour,

    Je ne parviens toujours pas à afficher le nom qui coorespond à ma sélèction de mon combo .

    Pouvez vous m'aider ?
    Merci à vous.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
     <?echo "<SELECT Name=Zonana1 Size=1><OPTION Value=0>Choisir le département</OPTION>";
    	$sqldep2= "SELECT DISTINCT Zonana1 FROM data_ant  WHERE Zonana1 != ''  ORDER BY Zonana1 ASC";
    	$repdep2= mysql_query($sqldep2);
     
    	while($ligne_liste=mysql_fetch_array($repdep2)){
    	echo "<OPTION Value=\"".$ligne_liste['Zonana1']."\">".$ligne_liste['Zonana1']."</OPTION>";
    	}	   
     
    echo "</SELECT>";?>

Discussions similaires

  1. Faire apparaître ce que l'on a choisi dans une liste déroulante
    Par Loulo8407 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 06/08/2014, 17h14
  2. Réponses: 4
    Dernier message: 20/02/2012, 16h59
  3. Réponses: 1
    Dernier message: 12/12/2011, 10h07
  4. Afficher la valeur choisie d'une liste déroulante dans une textbox
    Par bouchette63 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 20/06/2006, 14h26
  5. [VB6]Créer une liste déroulante dans une dataGrid
    Par mcay dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 11/05/2006, 09h32

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