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 :

Ajout automatique de liste déroulande dans formulaire + insertion dans DB


Sujet :

JavaScript

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 10
    Par défaut Ajout automatique de liste déroulande dans formulaire + insertion dans DB
    Bonsoir à tous,
    Je me permets de vous écrire car je suis débutant en Javascript, et je me tape la tête contre les murs.

    J'ai un formulaire (html php) permettant de pouvoir insérer dans ma base de donnée un nouvel administré.
    Je dois choisir à cet administré une catégorie (dans une liste déroulante)
    Je peux lié à cet administré d'autres catégorie si je le souhaite, en cliquant sur le bouton "ajouter des champs"
    Cela fait apparaitre d'autres listes déroulantes : je peux ainsi choisir une autre catégorie.

    Une fois cela fait, j'envoie le formulaire, et ces infos vont s'insérer dans ma DB.

    Problème :
    - comment, pour ce qui est des liste déroulante ajoutée via JS, attribué un id unique ? : <select name="cat1" / cat2 / cat 3 etc.
    - comment dire ensuite : je fais autant de requête que de catégories sélectionnées ?

    Si vous pourriez me donner quelques pistes, ce serait formidable !
    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
    <script>
        $(document).ready(function() {
            var max_fields      = 10; //maximum input boxes allowed
            var wrapper         = $(".input_fields_wrap"); //Fields wrapper
            var add_button      = $(".add_field_button"); //Add button ID
     
            var x = 1; //initial text box count
            $(add_button).click(function(e){ //on add input button click
                e.preventDefault();
                if(x < max_fields){ //max input box allowed
                    x++; //text box increment
     
     
                    $(wrapper).append('<SELECT name="<?php echo 'cat'.$uniqid.'"'; $sql = "SELECT * FROM categories ORDER BY nom_categories ASC"; $result = $mysqli->query($sql); if ($result->num_rows > 0){while($row = $result->fetch_assoc()) { $categorienom = $row["nom_categories"]; $categorieid = $row["id_categories"]; echo '<option value="'.$categorieid.'">'.$categorienom.'</option>'; } }?> </SELECT> <a href="#" class="remove_field">Supprimer</a><br>');
     
                }
            });
     
            $(wrapper).on("click",".remove_field", function(e){ //user click on remove text
                e.preventDefault(); $(this).parent('div').remove(); x--;
            })
        });
    </script>
    Code HTML : 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
    <SELECT name="cat1" >
                            <?php  /// Affichage des catéogies existantes
                                $sql = "SELECT * FROM categories ORDER BY nom_categories ASC"; 
                                $result = $mysqli->query($sql);
                                if ($result->num_rows > 0)
                                    {
                                    while($row = $result->fetch_assoc())
                                        {
                                        $categorienom = $row["nom_categories"];
                                        $categorieid = $row["id_categories"];
                                        echo '<option value="'.$categorieid.'">'.$categorienom.'</option>';
                                        }
                                    }  
                            ?>
     </SELECT>
     
    <div class="input_fields_wrap">
         <button class="add_field_button">Ajouter des champs</button>
    </div>    
     
     <button type="submit" class="boutonSubmit boutonform" role="button" aria-disabled="false">Ajouter</button>


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    $sql3 = "INSERT INTO categoriesadministres
                                            (id_categoriesadministres,
                                            id_administres,
                                            id_categories)
     
                                            VALUES
                                            ('',
                                            '$nextid',
                                            '$cat1')    //////   comment dire ensuite : je fais autant de requête que de catégories sélectionnées ?
                                            ";

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    1- au lieu de tout ton micmac : utiliser un select multiple.

    2- et/ou avec :
    À noter : les crochets.

    On récupère alors $_POST['cat'] qui est un array des valeurs choisies.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 10
    Par défaut
    merci pour cela, je vais essayer !

Discussions similaires

  1. [AC-2003] requete insertion dans formulaire
    Par HF974 dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 03/02/2009, 23h13
  2. Réponses: 5
    Dernier message: 05/10/2008, 16h42
  3. moyenne automatique sur listes d'un formulaire
    Par Tatoine dans le forum IHM
    Réponses: 3
    Dernier message: 13/08/2008, 18h05
  4. [Jabber] Ajouter automatiquement une liste de contacts
    Par ovh dans le forum Messagerie instantanée
    Réponses: 1
    Dernier message: 10/01/2008, 16h20
  5. [MySQL] php formulaire insertion dans 2 tables
    Par t-die dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 10/01/2006, 13h54

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