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

Langage PHP Discussion :

[PHP-JS] Problème avec un menu déroulant


Sujet :

Langage PHP

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2007
    Messages : 5
    Points : 5
    Points
    5
    Par défaut [PHP-JS] Problème avec un menu déroulant
    Bonjour,

    j'ai un menu déroulant qui affiche mes usagers :
    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
    <select name="directeurs";>
              <?php do {?>
              <option value="<?php echo $row_directeur['id']?>"
    		  <?php if (!(strcmp($row_directeur['id'], $row_directeur['courriel']))) {echo "SELECTED";} ?>>
    		  <?php echo $row_directeur['prenom'];
    		  echo " ";
    		  echo $row_directeur['nom'];
    		  echo " ";
    		  ?></option>
              <?php
    } while ($row_directeur = mysql_fetch_assoc($directeur));
      $rows = mysql_num_rows($directeur);
      if($rows > 0) {
          mysql_data_seek($directeur, 0);
    	  $row_directeur = mysql_fetch_assoc($directeur);
    	  $email = $row_directeur['courriel'];
      }
    ?>
    </select>
    Mon menu déroulant fonctionne très bien cependant j'aimerais affiché automatiquement l'adresse courriel de l'usager sélectionné dans un champs texte.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="text" name="courriel">
    N'étant pas très calé en PHP, j'utilise Dreamweaver pour me dépanner. Est-ce que quelqu'un peut m'aider ? et merci beaucoup !

  2. #2
    Membre éclairé
    Avatar de Dia_FR
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2006
    Messages
    512
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Avril 2006
    Messages : 512
    Points : 708
    Points
    708
    Par défaut
    "automatique" => "dynamique" => JavaScript

    une façon de faire :

    tu as tes données lues de la BdD (admettons que y ait les noms des usagers, les e-mails et une clé primaire)

    tu fait une boucle pour construire 2 tableaux en même temps :
    - un tableau PHP, valeurs : noms d'usagers, indices : clés
    - un tableau JS, valeurs : e-mails, indices : clés

    exemple de construction de 2 tableaux simultanément :
    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
    	echo '<script type="text/javascript">' . "\n";
    	echo 'var infosCountriesJS = new Array();' . "\n";
    	echo 'var infosCountryJS = new Array();' . "\n";
    	for ($i = 0; $i < $infosCountries['count']; $i++) {
    		$country	= $infosCountries[$i]['ou'][0];
    		$commArea	= $infosCountries[$i]['adixencountrycommercialarea'][0];
    		$geoArea	= $infosCountries[$i]['adixencountrygeographicarea'][0];
     
    		if ($country != 'country') {
    			// on vérifie pas si les valeurs sont déjà dans le tableau, les doublons s'écrasent, ça va plus vite
    			$countries[$country] = $country;
    			$commAreas[$commArea] = $commArea;
    			$geoAreas[$geoArea] = $geoArea;
     
    			echo 'infosCountryJS = new Array();';
    			echo "infosCountryJS['country'] = '$country';";
    			echo "infosCountryJS['commArea'] = '$commArea';";
    			echo "infosCountryJS['geoArea'] = '$geoArea';";
    			echo 'infosCountriesJS.push(infosCountryJS);';
    		}
    	}
    	echo '</script>';
    sur ton select tu mets un évènement onchange="maFonc();"

    tu génères les options de ton select

    exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <select name="searchCountry" id="searchCountry">
    <?php
    foreach ($countries as $key => $value)
      echo "<option value=\"$key\">$value</option>";
    ?>
    </select>
    maFonc lit la clé associée à l'usager sélectionnée, en déduit l'e-mail, l'affiche



    bon, j'te propose ça pasque c'est comme ça que j'ai fait mais après faut voir si ça gène pas le fonctionnement du reste de ton appli
    Dia [ Page DVP ] [ Site pro ]

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2007
    Messages : 5
    Points : 5
    Points
    5
    Par défaut all right
    tout est ok... merci beaucoup

    Nicolas.

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

Discussions similaires

  1. problème avec un menu déroulant
    Par dreylb dans le forum Tkinter
    Réponses: 11
    Dernier message: 15/02/2015, 11h45
  2. [AJAX] avec 3 listes déroulantes liées php+xhtml+css+javascript+ajax
    Par Invité dans le forum Général JavaScript
    Réponses: 10
    Dernier message: 27/12/2008, 15h54
  3. [PHP-JS] Problème avec un menu déroulant
    Par grumly22 dans le forum Langage
    Réponses: 3
    Dernier message: 09/05/2006, 11h07
  4. [PHP-JS] problème avec le flush
    Par bat dans le forum Langage
    Réponses: 4
    Dernier message: 05/10/2005, 15h03

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