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 :

Création d'un Select à partir des éléments d'un formualire


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 19
    Par défaut Création d'un Select à partir des éléments d'un formualire
    Hello.
    Je cherche comment génerer un menu déroulant à partir d'un formulaire.
    J'ai pensé à utiliser une boucle for() mais là je coince .
    Voici le code que j'ai rédigé et qui aparament ne marche pas
    Le code de la page où il ya le formulaire avec les champs dynamiques
    Mapage.html

    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
    <script>
    function create_champ(i) {
    var i2 = i + 1;
    document.getElementById('add1_'+i).innerHTML = 'Nom: <input type="text" size="15"  name="name_'+i+'" ></span>&nbsp;Valeur: <input name="value_1" size="24" type="text" id="flux_'+i+'" />';
    document.getElementById('add1_'+i).innerHTML += (i <= 10) ? '<br /><span id="add1_'+i2+'" style="font-family=Arial; size:10px;"><a href="javascript:create_champ('+i2+')">Ajouter un champ</a></span>' : '';
    document.forms['myform'].elements['nb_champs'].value="" +i+ ""; 
    }
    </script>
    <form name="myform" method="post" action="valid.php">
     
    Nom: <input name="name_1" type="text" id="name_1" size="15" >
    Value: <input name="value_1" type="text" id="flux_1" size="24"><br/>
    <span id="add1_2"><a href="javascript:create_champ(2)">Ajouter un champ</a></span><br />
    <input type="submit" value="valider">
    </form>

    Et pour la page php pour générer mon menu déroulant
    valid.php

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <?
    foreach($_POST as $key => $value) {
       if(!isset($$key)) 
            $$key = $value;
    }
     
    $select = '<select name="myselect" >
        <option value="'.$value.'_1">'.$name.'_1</option>';
    for( $i=2; $i<=$nb_champs; $i++) {
     $select .= '<option value="'.$value.'_'.$i.'">'.$name.'_'.$i.'</option>' ."\n";
    }
    echo $select . '</select>;
    ?>

    Mais là dans le script de validation je coince, ca ne marche pas ...
    J'espère que j'étais assez clair ...

    Merci

  2. #2
    Membre averti
    Inscrit en
    Mars 2002
    Messages
    27
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 27
    Par défaut
    pourkoi tu n'utilise pas une base de donnée c'est plus simple.??

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 19
    Par défaut
    Citation Envoyé par KHELOUIATI
    pourkoi tu n'utilise pas une base de donnée c'est plus simple.??
    Pourquoi? quesque ça me servirait ?

  4. #4
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    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
    <?
    foreach($_POST as $key => $value) {
       if(!isset($$key)) 
            $$key = $value;
    }
     
    $select = '<select name="myselect" >
        <option value="'.$value.'_1">'.$name.'_1</option>';
    for( $i=2; $i<=$nb_champs; $i++) {
     $select .= '<option value="'.$value.'_'.$i.'">'.$name.'_'.$i.'</option>' ."\n";
    }
    echo $select . '</select>;
    ?>
    Euh moi je comprends pas ce code.
    $nb_champs il vient d'où ? Idem pour $name ?
    Ton
    $value n'est pas sur d'exister ou est égal à 0 ou null.

    Et puis ton foreach il sert à quoi dans ton cas ? Récupérer la valeur de chaque champs ?

    Moi je serai partant pour utiliser un nom du styel array (exemple : nom[])


  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 19
    Par défaut
    Citation Envoyé par Kerod
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <?
    foreach($_POST as $key => $value) {
       if(!isset($$key)) 
            $$key = $value;
    }
     
    $select = '<select name="myselect" >
        <option value="'.$value.'_1">'.$name.'_1</option>';
    for( $i=2; $i<=$nb_champs; $i++) {
     $select .= '<option value="'.$value.'_'.$i.'">'.$name.'_'.$i.'</option>' ."\n";
    }
    echo $select . '</select>;
    ?>
    Euh moi je comprends pas ce code.
    $nb_champs il vient d'où ? Idem pour $name ?
    Ton
    $value n'est pas sur d'exister ou est égal à 0 ou null.

    Et puis ton foreach il sert à quoi dans ton cas ? Récupérer la valeur de chaque champs ?

    Moi je serai partant pour utiliser un nom du styel array (exemple : nom[])

    Heu il ya deux fichiers dans mon script :
    - mapage.html pour la saisie des données dans le formulaire.
    - valid.php pour la génération de mon menu ...

    foreach() reprend le valeurs du formulaire de la page "mapage.html"


  6. #6
    Membre émérite
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Juin 2003
    Messages
    910
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2003
    Messages : 910
    Par défaut bien plus simple...
    ...et bien plus clair en faisant dans le formulaire un simple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type='text' name='ceQueTuVeux' />
    et dans ce champ, tu écris toutes les valeurs séparées par une virgule (,).

    Puis tu les récupères dans ton .php avec:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $arrayName = explode(",", $_POST[ceQueTuVeux]);
    La vie, c'est aussi simple que ça.

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

Discussions similaires

  1. [AC-97] Création d'une table à partir des résultats d'une requete analyse croisée
    Par docjo dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 11/11/2009, 21h46
  2. [AC-2003] Etat à partir des éléments selectionnés d'une liste
    Par -ULK- dans le forum IHM
    Réponses: 8
    Dernier message: 17/06/2009, 10h42
  3. Réponses: 4
    Dernier message: 09/01/2008, 20h10
  4. Select sur des éléments communs ?
    Par AsmCode dans le forum Langage SQL
    Réponses: 3
    Dernier message: 23/10/2007, 10h20
  5. Réponses: 5
    Dernier message: 21/05/2006, 13h23

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