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 :

[REGLER] Formulaire avec groupe de case à cocher


Sujet :

Langage PHP

  1. #1
    Futur Membre du Club
    Inscrit en
    Mars 2007
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 13
    Points : 7
    Points
    7
    Par défaut [REGLER] Formulaire avec groupe de case à cocher
    Bonjour à tous,

    Je voudrais créer un formulaire, jusque là tous vas bien, pour ajouter des évènements sur un calendrier auxquels les membres pourront s'inscrire ou pas.

    Dans ce même formulaire j'ai un groupe de cas à cocher qui rassemble les membres d'une équipe. J'ai appelé ce groupe "membre". Je voudrais que lorsque j'envoie mon formulaire celui-ci ajoute les membres qui participent dans une BDN.

    La seul question est comment faire une boucle pour que le script ajoute tous les membres que je veux inviter dans la base ? (sachant que le groupe de case à cocher est nommer "membre")

    Exemple :
    Le jour "J" ici appeler par "id" 1 nous avons un évènement. Je voudrais ajouter les membres "1", "2", "3", "4" et "5". Je les coches dans le formulaire mais quand je l'envoies sa met "...?membre=1&membre=2&membre=3&membre=4&membre=5...

    Comment faire pour que mon script PHP face une boucle et ajoute les membres dans la base, jusqu'à qu'il n'y est plus de membres à ajouter ?

    Actuellement il ne prend que le dernier membre du groupe...

    J'ai penser à un array() ?? sa vas fonctionner ou pas ?

    Merci pour vos réponses.

  2. #2
    Membre expert Avatar de Fench
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2002
    Messages
    2 353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Groenland

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 353
    Points : 3 390
    Points
    3 390
    Par défaut
    Tu fais un explode sur ton retour avec &
    celà te donnera un tableau contenant tous les membres ...

  3. #3
    Futur Membre du Club
    Inscrit en
    Mars 2007
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 13
    Points : 7
    Points
    7
    Par défaut
    Merci,

    Je vais tester de ce pas

  4. #4
    Membre expert Avatar de Fench
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2002
    Messages
    2 353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Groenland

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 353
    Points : 3 390
    Points
    3 390
    Par défaut
    Un conseil, le manuel PHP est super bien fourni avec des ex et tout et tout

  5. #5
    Futur Membre du Club
    Inscrit en
    Mars 2007
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 13
    Points : 7
    Points
    7
    Par défaut
    J'ai fait sa :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    $mbs = $_GET['Membres'];
    $nb = explode("&", $mbs);
    echo $nb[0]; // piece1
    echo $nb[1]; // piece2
    L'adresse est :
    ?Membres=Alambic&Membres=Alexwolf&Membres=Alyx&Membres=Arnoti&Membres=Arth%EF%BF%BDlion&Membres=Ashylia&Membres=Avilia&Membres=Avilis&Membres=Avilisbank&Membres=Baldrik&Membres=Calandhir&Membres=Davang&Membres=Djaw&Membres=Dj%EF%BF%BD&Membres=Driax...
    Le script m'affiche : Driax et pas les autres...

  6. #6
    Membre expert Avatar de Fench
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2002
    Messages
    2 353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Groenland

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 353
    Points : 3 390
    Points
    3 390
    Par défaut
    Si c un group (mais j'ai pas encore utilisé les cases à cocher) car PHP est nouveau aussi pourmoi

    le $_POST est soit un array et dans ce cas tu as tous les membres, soit une string et dans ce cas il y a peut être un unserialize à fair ....

    regardes $_GET['Membres'][i]
    ou alors une chaine un explode de: $nb = explode("&", $mbs); dans tous les cas

  7. #7
    Futur Membre du Club
    Inscrit en
    Mars 2007
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 13
    Points : 7
    Points
    7
    Par défaut
    J'ai trouver sa :

    Pour le form :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
          <input type="checkbox" name="options[]" value="1">&nbsp;1<br>
          <input type="checkbox" name="options[]" value="2">&nbsp;2<br>
          <input type="checkbox" name="options[]" value="3">&nbsp;3<br>
          <input type="checkbox" name="options[]" value="4">&nbsp;4<br>
          <input type="checkbox" name="options[]" value="5">&nbsp;5 <br>
    Pour le script PHP qui prend les valeurs :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
     $options = $_GET['options'];
     $options_text = implode(', ',$options);
      echo '<p>options :<br><br>'.$options_text.'</p>';
    Maintenant sa me fait sa :
    options :

    1, 2, 3, 4, 5
    Il vas m'ajouté : 1, 2, 3, 4, 5 dans la base alors que 1 membre = une ligne de la table.

    Quelqu'un à une idée pour qu'a la place il me face une insertion puis il passe à l'autre...

  8. #8
    Futur Membre du Club
    Inscrit en
    Mars 2007
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 13
    Points : 7
    Points
    7
    Par défaut
    Pour être plus claire, je voudrais que le script face en sorte à ce qu'un membre ajoute une ligne dans la table de la base.

  9. #9
    Futur Membre du Club
    Inscrit en
    Mars 2007
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 13
    Points : 7
    Points
    7
    Par défaut
    Je viens de trouver mon bonheur ^^

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <?
     $options = $_GET['options'];
     $options_text = implode($options);
     $count = count($options);
     echo '<p>Nombre total de membres inviter :'.$count.'</p>';
     
    for ($i=0; $i<count($options); $i++) {
       echo '<p>Membres a ajouter :'.$options_text[$i].'</p>';
    }
     
    ?>
    Le script donne le nombre d'enregistrement à faire ET fait ligne par ligne Tous les membres. Quand il y a plus de ligne, il arrête.

    J'ai mis la solution aux cas où

    Merci à Fench pour avoir chercher avec moi

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

Discussions similaires

  1. Listes déroulantes avec choix groupés de cases à cocher
    Par dav2k dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 17/07/2010, 23h54
  2. Réponses: 18
    Dernier message: 23/01/2009, 14h17
  3. Réponses: 0
    Dernier message: 26/02/2008, 10h47
  4. [Formulaire] Message d'erreur case à cocher
    Par atlantideD dans le forum IHM
    Réponses: 1
    Dernier message: 06/07/2007, 19h12
  5. afficher des champs d'un formulaire en selectionnant une case à cocher
    Par bozykely3 dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 06/06/2007, 09h33

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