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

JavaScript Discussion :

afficher input en fonction d'un select alimenté par sql


Sujet :

JavaScript

  1. #1
    Membre habitué
    Inscrit en
    Janvier 2008
    Messages
    1 159
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 1 159
    Points : 149
    Points
    149
    Par défaut afficher input en fonction d'un select alimenté par sql
    bonjour,
    voila j'ai trouver un script que j ai adapter a mon site pour afficher un input si on choisi une catégorie dans liste déroulante multi critère alimenter par base sql mais cela ne fonctionne pas:
    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
    43
    44
    45
    46
    47
    48
    <?php
      include("../include/session.php");
      include("../UneAnnonce/affichercategorie.js");
    $description = "";
    $keywords = "";
    $subject = "";
    $title = "";
    $fakea = "";
    $menu = true;
     
    $content=true;
    $publicite=false;
    $serveur = "localhost";
    $admin   = "root";
    $mdp     = "";
    $base    = "idealeparut";
    $connexion = mysql_connect($serveur, $admin, $mdp);
      mysql_select_db($base, $connexion);
    // On récupère tous les articles, triés par catégorie, titre, référence.
    $req = 'SELECT c.nom_categorie,s.nom_sous_categorie
            FROM categorie_annonce as c, sous_categorie_annonce as s
    		where s.num_categorie=c.id_categorie
           ';
    $res = mysql_query($req) or exit('Erreur: '.mysql_error());
     
     
    $num_categorie = null;
     
     
    $content.='<select name="choixPosteSelect" onChange="ifOther(this.value)" id="selectPoste" style="display:block;">
    <option value="" selected="selected"> </option>
    ';
    while ($donnees = mysql_fetch_assoc($res)) {
      // Si on change de catégorie, on l'affiche dans le <select>.
    if ($donnees['nom_categorie'] !== $num_categorie) {
        $num_categorie = $donnees['nom_categorie'];
        $content.='<optgroup label="'.$num_categorie.'">';
      }
      //On ajoute "logiquement" notre <option>.
     $content.=' <option value="'.$donnees['nom_categorie'].'">'.$donnees['nom_sous_categorie'].' 
     ';
    }
    $content.='</select><BR /><BR />
    <P><input type="text" id="inputPoste" name="choixPosteInput" value="" maxLength="32" style="display:none;" /></P>';
     
     
    include("../include/base2.php");
    ?>
    et la page affichercategorie:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <script type="text/javascript">
    function ifOther(elem){
      if(elem == 'Auto'){
        document.getElementById('inputPoste').style.display = 'block'; 
        document.getElementById('selectPoste').style.display = 'block';
        document.getElementById('selectPoste').value = '';
      }
      else{
        document.getElementById('inputPoste').style.display = 'none'; 
        document.getElementById('selectPoste').style.display = 'block';
        document.getElementById('inputPoste').value = '';
      }
    }
    </script>
    mais le input n 'apparait pas quand je choisi Auto de plus, il faudra que cela est créer pour plusieurs catégorie différent input appariterons dans la page.
    merci de votre aide.

  2. #2
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Merci de nous montrer le code HTML généré. Ca permettra déjà de voir les value de ton select !

  3. #3
    Membre habitué
    Inscrit en
    Janvier 2008
    Messages
    1 159
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 1 159
    Points : 149
    Points
    149
    Par défaut
    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
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    <html xml:lang="fr" xmlns="http://www.w3.org/1999/xhtml"><head>
    <script type="text/javascript">
    function ifOther(elem){
      if(elem == 'Auto'){
        document.getElementById('inputPoste').style.display = 'block'; 
        document.getElementById('selectPoste').style.display = 'block';
        document.getElementById('selectPoste').value = '';
      }
      else{
        document.getElementById('inputPoste').style.display = 'none'; 
        document.getElementById('selectPoste').style.display = 'block';
        document.getElementById('inputPoste').value = '';
      }
    }
    </script>
     
     
     
     
    		<meta http-equiv="content-type" content="text/html; charset=utf-8">
    		<!--<meta http-equiv="content-type" content="text/html; charset=ISO-8859-15" />-->
    		<meta name="description" content="">
    		<meta name="keywords" content="">
    		<meta name="subject" content="">
    		<meta name="author" content="idealeparution">
     
    		<meta name="revisit-after" content="10 days">
    		<meta name="robots" content="index, follow">
    		<meta name="sitename" content="idealparution.fr">
    		<link href="http://localhost/idealeparution/css/style.css" type="text/css" rel="stylesheet">
    				<!--[if lte IE 6]>
    			<link href="http://localhost/idealeparution/css/ie.css" type="text/css" rel="stylesheet" />
    		<![endif]-->
    <script language="JavaScript">
    function favoris() {
    if ( navigator.appName != 'Microsoft Internet Explorer' )
    { window.sidebar.addPanel("le nom du site","http://www.tonsite.com",""); }
    else { window.external.AddFavorite("http://www.tonsite.com","le nom du site"); } }
    </script>
     
     
     
     
    	<title>IdealeParution: </title>
    	</head><body>
     
     
    <div id="header">
     
    </div>
    <!-- end #header -->
    <div id="menu">
    	<div class="menu">
     
    <!-- un menu de navigation -->
    <ul class="menu1">
    <li class="current"><a href="http://localhost/idealeparution/index.php"><b>Accueil</b></a></li>
    <li><a href="http://localhost/idealeparution/emplois/index.php?categorie=3"><b>Emplois</b></a></li>
    <li><a href="http://localhost/idealeparution/loisirs/index.php?categorie=5"><b>Loisirs</b></a></li>
     
    <li><a href="http://localhost/idealeparution/viequotidienne/index.php?categorie=6"><b>Vie Quotidienne</b></a></li>
    <li><a href="http://localhost/idealeparution/animaux/index.php?categorie=4"><b>Animaux</b></a></li>
    <li><a href="http://localhost/idealeparution/immobilier/index.php?categorie=1"><b>Immobilier</b></a></li>
    <li><a href="http://localhost/idealeparution/high-tech/index.php?categorie=8"><b>High-tech</b></a></li>
    <li><a href="http://localhost/idealeparution/vehicules/index.php?categorie=2"><b>Vehicules</b></a></li>
    <li><a href="../services/index.php"><b>Mes commerçants</b></a></li>
     
     
    </ul>
    </div></div>
    <!-- end #menu -->
     
    <div id="page">
     
    	<div id="content">
     
     
     
     
     
    			1<select name="choixPosteSelect" onchange="ifOther(this.value)" id="selectPoste" style="display: block;">
    <option value="" selected="selected"> </option>
    <optgroup label="IMMOBILIER"> <option value="IMMOBILIER">Ventes Immobilière 
      </option><option value="IMMOBILIER">Location Immobilière 
      </option><option value="IMMOBILIER">Colocations 
      </option><option value="IMMOBILIER">Locations de vacances 
      </option><option value="IMMOBILIER">Bureaux et Commerces 
      </option><option value="IMMOBILIER">Avis de recherche 
      </option><option value="IMMOBILIER">Programme neufs 
      </option><option value="IMMOBILIER">Divers 
     </option></optgroup><optgroup label="VEHICULES"> <option value="VEHICULES">Auto 
      </option><option value="VEHICULES">Moto 
      </option><option value="VEHICULES">Naustisme 
      </option><option value="VEHICULES">Caravaning 
      </option><option value="VEHICULES">Pièces détachées 
      </option><option value="VEHICULES">Autres 
     </option></optgroup><optgroup label="EMPLOI"> <option value="EMPLOI">Achat,Logistique,Transport 
      </option><option value="EMPLOI">Administration,Secrétariat 
      </option><option value="EMPLOI">Automobile 
      </option><option value="EMPLOI">BTP, Architecture 
      </option><option value="EMPLOI">Commerce et services de proximité 
      </option><option value="EMPLOI">Commercial, ventes 
      </option><option value="EMPLOI">Communication 
      </option><option value="EMPLOI">Conseil-Audit 
      </option><option value="EMPLOI">Direction générale 
      </option><option value="EMPLOI">Environnement 
      </option><option value="EMPLOI">Gestion, ComptabilitéFinance 
      </option><option value="EMPLOI">Industrie, Production 
      </option><option value="EMPLOI">Informatique,Telecom 
      </option><option value="EMPLOI">Juridique 
      </option><option value="EMPLOI">Marketing 
      </option><option value="EMPLOI">Recherche et developpment 
      </option><option value="EMPLOI">Ressources humaines, Formation 
      </option><option value="EMPLOI">Santé, social 
      </option><option value="EMPLOI">Tourisme, Hôtellerie, Restauration 
     </option></optgroup><optgroup label="ANIMAUX"> <option value="ANIMAUX">Chats 
      </option><option value="ANIMAUX">Chiens 
      </option><option value="ANIMAUX">Chevaux 
      </option><option value="ANIMAUX">Oiseaux 
      </option><option value="ANIMAUX">Rongeurs 
      </option><option value="ANIMAUX">Reptiles 
      </option><option value="ANIMAUX">Autres 
     </option></optgroup><optgroup label="LOISIRS"> <option value="LOISIRS">CD, DVD, Livres, Jeux, Jouets 
      </option><option value="LOISIRS">Sports 
      </option><option value="LOISIRS">Instruments de musique 
      </option><option value="LOISIRS">Autres 
     </option></optgroup><optgroup label="VIE QUOTIDIENNE"> <option value="VIE QUOTIDIENNE">Vêtements 
      </option><option value="VIE QUOTIDIENNE">Accessoires 
      </option><option value="VIE QUOTIDIENNE">Chaussures 
      </option><option value="VIE QUOTIDIENNE">Univers de la beauté 
      </option><option value="VIE QUOTIDIENNE">Autres 
     </option></optgroup><optgroup label="SERVICES"> <option value="SERVICES">Artisans 
      </option><option value="SERVICES">Beauté et esthétique 
      </option><option value="SERVICES">Santé/Bien  	être 
      </option><option value="SERVICES">Informatique, Son &amp; image 
      </option><option value="SERVICES">Sports 
      </option><option value="SERVICES">D�m�nagements 
      </option><option value="SERVICES">Restauration 
      </option><option value="SERVICES">Vêtements 
      </option><option value="SERVICES">Bijoux 
      </option><option value="SERVICES">Bricolage &amp; Jardinage 
      </option><option value="SERVICES">Autres 
      </option><option value="SERVICES">Fonction publique 
     </option></optgroup><optgroup label="HIGH-TECH"> <option value="HIGH-TECH">Informatique 
      </option><option value="HIGH-TECH">Hifi, Son 
      </option><option value="HIGH-TECH">Appareils photos 
      </option><option value="HIGH-TECH">Caméscopes 
      </option><option value="HIGH-TECH">Téléphonie 
      </option><option value="HIGH-TECH">Autres 
     </option></optgroup><optgroup label="HABITAT"> <option value="HABITAT">Aménagement 
      </option><option value="HABITAT">Jardin 
      </option><option value="HABITAT">Mobilier 
      </option><option value="HABITAT">Décoration 
     </option></optgroup></select><br><br>
     
    <p><input id="inputPoste" name="choixPosteInput" value="" maxlength="32" style="display: none;" type="text"></p>		
     
     
     
    	</div>
    	<!-- end #content -->
    	<div id="sidebar">
     
     
    	<div id="publicite">	
     
    </div>
     
     
     
     
     
     
     
     
    	</div>
     
    	<!-- end #sidebar -->
    	<div style="clear: both;"></div>
     
    </div>
     
    <!-- end #page -->
    <div id="footer">
    	<p>
    	<a href="http://localhost/idealeparution/contactez/index.php">[Contactez-nous]</a>
    	<a href="http://localhost/idealeparution/conditions/index.php">[Conditions générales d'utilisation]</a>
     
    	<a href="http://localhost/idealeparution/infos/index.php">[Infos légales]</a>
    	<a href="http://localhost/idealeparution/concepteur/index.php">[Concepteur du site]</a>
    	<a href="http://localhost/idealeparution/concepteur/index.php">[Nos partenaires]</a>
    </p><div style="clear: both;"></div>
    	<p></p>
    </div>
    <!-- end #footer -->
    </body></html>
    j ai donc tester avec le value immobilier ca fonctionne mais moi le pb c est que je veux que ce soit que pour location immobilière comment faire?

  4. #4
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Points : 36 571
    Points
    36 571
    Par défaut
    Bonjour,
    Citation Envoyé par kate59 Voir le message
    j ai donc tester avec le value immobilier ca fonctionne mais moi le pb c est que je veux que ce soit que pour location immobilière comment faire?
    il faudrait être un peu plus clair sur ce que tu veux / ce que ça fait à la place (phrase difficilement compréhensible)

    Pour faire simple : ta fonction attends une value "Auto" qui n'existe pas dans ton select
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <option value="VEHICULES">Auto 
      </option>
    A+

  5. #5
    Membre habitué
    Inscrit en
    Janvier 2008
    Messages
    1 159
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 1 159
    Points : 149
    Points
    149
    Par défaut
    bonjour,
    en faite j ai alimenter une liste déroulante par base sql dont j ai mit le code en haut.Et je voudrait que quand je choisit exemple auto dans cette liste un champs texte apparait en dessous.
    merci

  6. #6
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Points : 36 571
    Points
    36 571
    Par défaut
    Citation Envoyé par kate59 Voir le message
    en faite j ai alimenter une liste déroulante par base sql dont j ai mit le code en haut.Et je voudrait que quand je choisit exemple auto dans cette liste un champs texte apparait en dessous.
    Pour le cas "Auto", la réponse (enfin ... au moins une partie) est ci-dessus ...

    A+

  7. #7
    Membre habitué
    Inscrit en
    Janvier 2008
    Messages
    1 159
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 1 159
    Points : 149
    Points
    149
    Par défaut
    merci encore de ton aide mais je ne sais pas comment faire car ma liste deroulante est composer ainsi:
    categ1
    souscateg1
    souscateg2
    categ2
    sousctaeg2
    souscateg2


    mais je ne sais pas comment faire pour changer les value sans que cela modifier la liste deroulante de plus je ne vois pas trop qu est ce que je doit changer.

    merci encore de l'aide rapide.

  8. #8
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Points : 36 571
    Points
    36 571
    Par défaut
    Pour tester, ajoutes dans ton select une ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     <option value="Auto">Auto</option>
    et vois si en la sélectionnant tu passes bien dans le 1° if de la fonction ifOther()

    Dis nous si ça donne ce que tu souhaites (car je ne vois toujours pas exactement le problème par rapport à ton code : valeurs mal choisies, bug, fonctionnement incompris ou autre )

    A+

  9. #9
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Points : 36 571
    Points
    36 571
    Par défaut
    Tu as trouvé une solution, on dirait ?

  10. #10
    Membre habitué
    Inscrit en
    Janvier 2008
    Messages
    1 159
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 1 159
    Points : 149
    Points
    149
    Par défaut
    oui j ai bien trouver merci j ai juste changer en mettant nom_sous_categorie dans mes value.

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

Discussions similaires

  1. liste deroulante alimenter par sql
    Par kate59 dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 19/01/2009, 20h52
  2. [MySQL] Select alimenté par bdd
    Par TwAzO dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 09/06/2008, 09h40
  3. [AJAX] Click sur select alimenté par ajax plante ie
    Par Pgs dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 08/04/2008, 10h45
  4. Afficher/cacher des éléments de type select en fonction d'autres
    Par GLDavid dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 05/04/2006, 10h06
  5. changer et afficher une variable en fonction d'un select
    Par psychoBob dans le forum Général JavaScript
    Réponses: 30
    Dernier message: 22/11/2005, 08h15

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