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 :

Afficher 2 champs dans une liste déroulante [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 2
    Points : 2
    Points
    2
    Par défaut Afficher 2 champs dans une liste déroulante
    Bonjour,
    j'ai 2 tables : structures (contenant entre autre les champs id_structure, nom et ville) et activites reliée à la première par l'id_structure.
    dans le formulaire pour ajouter une nouvelle activité, j'ai mis une liste déroulante dynamique dans laquelle apparait pour l'instant soit les villes soit les noms de structure. mais j'aimerais que cela apparaisse sous la forme "Ville - Nom" (2 champs par ligne, quoi ...).... et qu'on puisse récupérer l'id_structure de la ligne sélectionnée pour l'insérer dans la table activite.

    est-ce possible ?
    le code de la liste déroulante :
    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
    <?php 
    echo "Sélectionner la structure accueillante<br>";
    echo "<select name = 'liste'>
    <option value = ''> --Choississez-- </option>";
     
    $sql = "SELECT nom,ville FROM hp_structures";
    $optio = mysql_query($sql);
     
    while($row = mysql_fetch_row($optio)) 
    {
    echo "\t\t<option>".($row[0])."</option>\n";
    }
     
    echo "</select>";
    ?>
    le code de la récupération des données :
    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
    <?php 
     
       if (isset($_POST['nom'])) 
       { 
          $nom=htmlentities($_POST['nom']); 
          $t_activites=implode(",",$_POST['t_activites']);
    	  $activites=htmlentities($_POST['activites']);
    	  $deficience=implode(",",$_POST['deficience']);
    	  $accesext=implode(",",$_POST['accesext']);
    	  $accesext_details=htmlentities($_POST['accesext_details']);
    	  $accesint=implode(",",$_POST['accesint']);
    	  $accesint_details=htmlentities($_POST['accesint_details']);
    	  $materiel=implode(",",$_POST['materiel']);
    	  $materiel_details=htmlentities($_POST['materiel_details']);
    	  $personnel=implode(",",$_POST['personnel']);
    	  $personnel_details=htmlentities($_POST['personnel_details']);
    	  $prix=htmlentities($_POST['prix']);
          $requete=mysql_query("INSERT INTO hp_actvites VALUES( '$id_activites', '$id_structure', '$nom', '$t_activites', '$activites', '$deficience', '$accesext', '$accesext_details', '$accesint', '$accesint_details', '$materiel', '$materiel_details', '$personnel', '$personnel_details', '$prix');"); 
     
          if(!$requete) 
          { 
             echo "Erreur !"; 
             echo mysql_error(); 
          } 
          else 
          { 
             echo "Les valeurs ont bien été enregistrées dans la table des activités";                        
          } 
       } 
     
    ?>
    Merci d'avance

  2. #2
    Membre régulier
    Avatar de Atomicfryer
    Homme Profil pro
    Géomaticien
    Inscrit en
    Février 2004
    Messages
    103
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Géomaticien
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Février 2004
    Messages : 103
    Points : 101
    Points
    101
    Par défaut
    salut,

    lors de la création de ta liste déroulante, j 'utiliserais plutot un mysql_fetch_assoc() et dans ta requete, je selectionnerais ton id de champ... :

    Code php : 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
     
    <?php 
    echo "Sélectionner la structure accueillante<br>";
    echo "<select name = 'liste'>
    <option value = ''> --Choississez-- </option>";
     
    $sql = "SELECT id_structure,nom,ville FROM hp_structures";
    $optio = mysql_query($sql);
     
    while($row = mysql_fetch_assoc($optio)) 
    {
    echo "\n<option value=\"".$row['id]."\">".$row['ville']." - ".$row['nom']."</option>\n";
    }
    
    echo "</select>";
    ?>
    a voir...

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 2
    Points : 2
    Points
    2
    Par défaut
    finalement j'ai réussi avec ça :
    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
    <select name="id_structure" >
         <?php getList();?>
    </select>
     
    <?php function getList()
    {
    $sql = "select id_structure,nom,ville from hp_structure";
    $result = mysql_query($sql);
    while ($structureInfo = mysql_fetch_object($result))
    {
      echo "<option value='$structureInfo->id_structure'>
            $structureInfo->nom -
    	$structureInfo->ville
            </option>";
    }}
    ?>
    et pour l'envoi de l'id_structure, j'ai réussi en ajoutant juste une ligne $id_structure = $_POST['id_structure'];

    merci quand même

  4. #4
    Membre régulier
    Avatar de Atomicfryer
    Homme Profil pro
    Géomaticien
    Inscrit en
    Février 2004
    Messages
    103
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Géomaticien
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Février 2004
    Messages : 103
    Points : 101
    Points
    101
    Par défaut
    ce qui du coup revient exactement au même
    @+

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

Discussions similaires

  1. afficher 2 champs dans une liste deroulante
    Par wave95 dans le forum SharePoint
    Réponses: 1
    Dernier message: 16/11/2007, 15h56
  2. [Conception] Plusieurs champs dans une liste déroulante
    Par louroulou dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 20/07/2007, 04h55
  3. [MySQL] Afficher toutes les données d'un champ dans une liste déroulante
    Par Touareg dans le forum PHP & Base de données
    Réponses: 10
    Dernier message: 19/03/2007, 12h42
  4. [C#] Concaténer 2 champs dans une liste déroulante
    Par wil4linux dans le forum ASP.NET
    Réponses: 8
    Dernier message: 28/06/2006, 08h57
  5. Réponses: 5
    Dernier message: 27/05/2005, 17h10

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