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 :

Récupération plusieurs valeurs checkbox [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre habitué
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Juillet 2012
    Messages
    284
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2012
    Messages : 284
    Points : 132
    Points
    132
    Par défaut Récupération plusieurs valeurs checkbox
    Bonjour,

    J'affiche ma checkbox avec mes applications sans problème :

    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
     
    include "config.php";
    $connect = mysql_connect("$serveur","$login","$pass"); 
    mysql_select_db("$bd",$connect);
     
    $sql = ("SELECT * FROM application");
    $query=mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
     
    	while ($result = mysql_fetch_assoc($query))
    	{
    	$ID_APPOK = $result["ID_APP"];
    	$NAME_APPOK = $result["NAME_APP"];
     
    	$selected="";
    	if ($result['ID_APP']=="1"){
     
     
    	$selected=" checked=\"checked\"";
    	}
            echo "<INPUT TYPE=checkbox NAME=CHECK_APP value=".$ID_APPOK." ".$selected.">".$NAME_APPOK."";
    	}

    Dans une autre page je récupère mes valeurs passées en $_POST pour les insérer dans ma base :

    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
     
    $NAME_SERVER = strtoupper($_POST['NAME_SERVER']);
    $DESC_SERVER = $_POST['DESC_SERVER'];
    $COM_SERVER  = $_POST['COM_SERVER'];
    $ID_APPOK = $_POST['CHECK_APP'];
     
    //Insertion des valeurs dans une première table er recupération de l'id généré, no pb
     
    $sql1 = ("INSERT INTO server (NAME_SERVER, DESC_SERVER, COM_SERVER) VALUES('$NAME_SERVER','$DESC_SERVER', '$COM_SERVER')");
    $res1 = mysql_query($sql1) or die('Erreur SQL !<br>'.$sql1.'<br>'.mysql_error());
     
    $ID_SERVER = mysql_insert_id();
     
     
    //Insertion des valeurs dans une deuxième table dernier id généré + valeur checkbox 
    $sql2 = ("INSERT INTO HOST VALUES('$ID_SERVER','$ID_APPOK')");
    $res2 = mysql_query($sql2) or die('Erreur SQL !<br>'.$sql2.'<br>'.mysql_error());
    Si je coche une case dans ma checkbox il n'y a pas de pb, elle s'inscrit bien dans ma base.

    Si je coche plusieurs cases, ca ne fonctionne pas ...

    Il faudrat faire une boucle je pense avec la requete d'insertion dans la deuxième table mais je ne vois pas comment faire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $sql2 = ("INSERT INTO HOST VALUES('$ID_SERVER','$ID_APPOK')");
    $res2 = mysql_query($sql2) or die('Erreur SQL !<br>'.$sql2.'<br>'.mysql_error());
    $ID_SERVER' ne change pas car c'est l'id de mon serveur généré.

    '$ID_APPOK' doit changé car ce sont les valeurs de la checkbox ...


    Pour moi ca me parait très simple mais je ne connais pas la syntaxe pour faire la boucle insert

    Merci d'avance.

  2. #2
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Points : 15 059
    Points
    15 059
    Par défaut
    Bonjour

    Ainsi, $ID_APPOK = $_POST['CHECK_APP']; sera un tableau de toutes les valeurs des checkbox cochés.

    A+.

  3. #3
    Membre habitué
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Juillet 2012
    Messages
    284
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2012
    Messages : 284
    Points : 132
    Points
    132
    Par défaut
    Bonjour merci pr ta réponse, j'ai trouvé.

    Oui il faut mettre un tableau : NAME=CHECK_APP[]

    Avec une boucle foreach et c'est parti :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    foreach($_POST['CHECK_APP'] AS $checkbox)
     
    	{
    $sql3 = ("INSERT INTO HOST VALUES('$ID_SERVER','$checkbox')");
    $res3 = mysql_query($sql3) or die('Erreur SQL !<br>'.$sql3.'<br>'.mysql_error());
    	}
    Merci.

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

Discussions similaires

  1. [checkbox] Récupération des valeurs de checkbox
    Par chng001 dans le forum Struts 1
    Réponses: 13
    Dernier message: 07/09/2009, 20h31
  2. Réponses: 2
    Dernier message: 27/08/2009, 15h20
  3. Réponses: 5
    Dernier message: 03/05/2006, 10h27
  4. Réponses: 4
    Dernier message: 09/01/2006, 01h24
  5. [struts] [checkbox] récupération des valeurs cochées
    Par abourell dans le forum Struts 1
    Réponses: 16
    Dernier message: 10/06/2005, 20h58

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