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 :

boucle et checkbox dans un formulaire


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Inscrit en
    Janvier 2007
    Messages
    166
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 166
    Points : 86
    Points
    86
    Par défaut boucle et checkbox dans un formulaire
    bonjour à tous, je cherche à faire une liste d'options sous forme d'une boucle php qui m'affiche une checkbox et une legende à chaque ligne.
    le but est de recupérer dans le script qui traitera le formulaire :
    - la valeur de la checkbox ( l'id du choix dans ma base de donnée )
    - un nom de variable qui varie a chaque ligne.
    pour le moment j'ai fait ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <?php 
    $query=mysql_query("select pseudo,statut from user where statut='en_attente'") or die(mysql_error()) ;
    echo 'Utilisateurs en attente :<br/><form method="GET" action="http://localhost/new_go/script_admin.php">';
    while($req=mysql_fetch_array($query)){
    	echo ' <input type="checkbox" name="desti" value="'.$_SESSION['id_membre'].'"> '.$req['pseudo'].'/ en attente<br/>';
    }
    ?>
    la variable de session $_SESSION['id_membre'] contient l'identifiant du choix fait. cependant puisque le nom de mes checkbox reste le meme, je ne peux jamais avoir plus d'un choix. j'ai essayé de mettre en variable un nom qui varie ( en concaténant avec un compteur par exemple ) mais je n'arrive pas à l'exploiter apres vu que je ne sais pas le nombre de choix qui vont etre choisis à l'avance. si quelqu'un peut m'aider

  2. #2
    Membre du Club
    Femme Profil pro
    Technicien Help Desk
    Inscrit en
    Mars 2010
    Messages
    67
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Technicien Help Desk

    Informations forums :
    Inscription : Mars 2010
    Messages : 67
    Points : 49
    Points
    49
    Par défaut
    Je me suis retrouvé dans ta situation il y a peu. Au lieu de faire ma boucle while directement sur $req=mysql_fetch_array($query), j'ai mis les éléments dans un tableau placé dans une variable de session, puis j'utilise ce tableau pour faire mes checkboc avec comme name un nom composé concaténé avec l'emplacement dans mon tableau. Ainsi le premier check box sera "desti_0".

    Si tu ne veux pas mettre ces informations dans une variable de session, tu peux aussi aller récupérer le nombre de checkbox en contant le nombre d'élément dans la table que tu as utilisé.

  3. #3
    Membre régulier
    Inscrit en
    Janvier 2007
    Messages
    166
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 166
    Points : 86
    Points
    86
    Par défaut
    je crois que je comprends, je vais essayer ce soir, si tu peux me copier un petit bout du code que tu as fait pour ce probleme, celà me ferai un exemple
    en tout cas merci de m'avoir répondu

  4. #4
    Membre du Club
    Femme Profil pro
    Technicien Help Desk
    Inscrit en
    Mars 2010
    Messages
    67
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Technicien Help Desk

    Informations forums :
    Inscription : Mars 2010
    Messages : 67
    Points : 49
    Points
    49
    Par défaut
    oui ok, je change juste les nom donc dans un premier temps je récupère mes données dans un tableau :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    // récupération de la liste des élément de ma table
    $query="SELECT * FROM MATABLE";
    $result=mysql_query($query) or die("Requète non exécutée : ".mysql_error());
    $nbelement=0;
    while($element[$nbelement]=mysql_fetch_array($result)){
    	$nbelement++;
    }
    $_SESSION['nbelement']=$nbelement; // en faite je suis une fainéante j'avais pas envie de le récupérer à partir du tableau
    $_SESSION['element']=$element;
    Et lors de la construction de mon formulaire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    for ($i=0;$i<$nbelement;$i++){
    	echo "<tr>";
    	echo "<td>".$element[$i]['libel']."</td> \n";
    	echo "<td><input type=\"checkbox\" id=\"cb_".$element[$i]['id']."\" name=\"cb_".$element[$i]['id']."\" value=\"".$element[$i]['id']."\" /></td> \n";
    	echo "</tr>";
    }
    et sur les autres page ou j'ai besoin de cette liste :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $nbelement=$_SESSION['nbelement']; 
    $element=$_SESSION['element'];
    et pour savoir si un élément est coché :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    for($i=0;$i<$nbelement;$i++){
    	if(isset($_POST['cb_'.$element[$i]['id']])){ 
    		// traitement si le checkbox de nom 'cb_'.$element[$i]['id'] coché.
    	}
    }
    ça te va ?

  5. #5
    Membre régulier
    Inscrit en
    Janvier 2007
    Messages
    166
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 166
    Points : 86
    Points
    86
    Par défaut
    merci !!! ça fonctionne
    EDIT : enfin de compte a moitié seulement je me suis souvenu qu'il faut que je choisisse si on veut changer le statut en eleve ou en professeur.
    en effet mon but est de faire un petit panneau d'admin qui permette à des amis d'administrer sans changer le code. donc ils peuvent desormais le faire cependant je ne peux pas leur donner le choix du statut entre eleve ou professeur, je suis obligé de choisir avant. y a t'il moyen de faire passer une autre information par le formulaire via la checkbox ? car il me faut l'id de l'utilisateur et le statut ( par exemple que je mette 2 checkbox et qu'on puisse choisir l'un ou l'autre et en meme temps quel utilisateur ).

Discussions similaires

  1. lien entre checkbox dans un formulaire et table
    Par lolipop65 dans le forum Modélisation
    Réponses: 2
    Dernier message: 28/08/2008, 10h39
  2. checkbox dans un formulaire
    Par Mich57 dans le forum IHM
    Réponses: 8
    Dernier message: 22/07/2008, 18h47
  3. effacer par checkbox dans un formulaire
    Par timboy11 dans le forum Langage
    Réponses: 9
    Dernier message: 08/07/2008, 13h49
  4. liste de checkbox dans un formulaire
    Par aktos dans le forum Langage
    Réponses: 3
    Dernier message: 26/01/2007, 18h48
  5. [MySQL] Une histoire de CHECKBOX dans un formulaire
    Par bilou95 dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 20/10/2006, 15h24

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