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

SQL Procédural MySQL Discussion :

Récuperer valeurs d'une checkbox dans la base Mysql


Sujet :

SQL Procédural MySQL

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    130
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 130
    Points : 55
    Points
    55
    Par défaut Récuperer valeurs d'une checkbox dans la base Mysql
    Bonjour,

    J'ai un peti souci pour récupere mes valeurs des checkbox dans ma base de données, je dois surment mal m'y prendre.

    1) j'ai mon formulaire avec les checkbox

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <form method="post" action="verif_test.php">
    Equipements ménagers
    	<input name="menagersFour" type="checkbox" value="">four
    	<input name="menagersAspirateur" type="checkbox" value="">aspirateur
    	<input name="menagersPlaque" type="checkbox" value="">plaque
    </form>
    Ensuite la page verif.php qui va enregister les valeurs 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
    18
    19
    <?php // récupération des données du formulaires
     
    $menagersFour = $_POST['menagersFour'];
    $menagersAspirateur = $_POST['menagersAspirateur'];
    $menagersPlaque = $_POST['menagersPlaque'];
     
     
     
    $connexion = mysql_connect("");
    mysql_select_db("",$connexion);
     
     
    $requete = "insert into test values('',''$menagersFour','$menagersAspirateur','$menagersPlaque')";
    mysql_query($requete);
     
    echo "Vos données ont été envoyées !"; 
     
     
    mysql_close(); ?>
    Et finalement dans ma base de données mysql, j'ai mes 3 champs
    menagersFour menagersAspirateur menagersPlaque



    J'ai su récupérer mes données dans ma base pour des champs textes, des listes déroulantes mais je ne sias pas comment faire avec se checkbox.

    Merci de votre aide

  2. #2
    Membre averti Avatar de spilliaert
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    268
    Détails du profil
    Informations personnelles :
    Âge : 32
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2005
    Messages : 268
    Points : 307
    Points
    307
    Par défaut
    la valeur de $_POST ['menagersFour'] est en fait la valeur de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <input name="menagersFour" type="checkbox" value="VALEUR">four
    donc, si tu veux stoquer dans une bdd la valeur de $_POST['menagersFour'], il faut spécifier une value dans ton input.

    Ton champ mysql est de quel type?

    @+

  3. #3
    Membre averti Avatar de gofono_bass
    Inscrit en
    Décembre 2005
    Messages
    383
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Décembre 2005
    Messages : 383
    Points : 448
    Points
    448
    Par défaut
    probleme deja abordé pas mal de fois dans le forum ....

    sinon pour pouvoir récuperer des valeurs de checkbox, il faut que ces checkbox aient des valeurs!!!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <input name="menagersFour" type="checkbox" value="">four 
       <input name="menagersAspirateur" type="checkbox" value="">aspirateur 
       <input name="menagersPlaque" type="checkbox" value="">plaque
    devrait etre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <input name="menagersFour[]" type="checkbox" value="four">four 
       <input name="menagersAspirateur[]" type="checkbox" value="aspirateur ">aspirateur 
       <input name="menagersPlaque[]" type="checkbox" value="plaque">plaque
    edit: grilled...
    mais pourquoi tu cours?

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    130
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 130
    Points : 55
    Points
    55
    Par défaut
    Mes champs sont
    varchar (50)

    Merci

  5. #5
    Membre averti Avatar de spilliaert
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    268
    Détails du profil
    Informations personnelles :
    Âge : 32
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2005
    Messages : 268
    Points : 307
    Points
    307
    Par défaut
    une petite suggestion:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    if(mysql_query($requete))
    echo "Vos données ont été envoyées !";
    de cette manière, la phrase("vos données ont été envoyées")apparaîtra uniquement si les données ont vraiment bien été envoyées

  6. #6
    Membre habitué
    Profil pro
    Inscrit en
    Février 2006
    Messages
    109
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 109
    Points : 131
    Points
    131
    Par défaut
    Il faut faire un isset() de tous tes POST !
    Ensuite c'est le champ VALUES que tu vas recuperer dans les POST



    Il n'y a pas une erreur ici :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $requete = "insert into test values('',''$menagersFour','$menagersAspirateur','$menagersPlaque')"; 
    mysql_query($requete);
    ('',''$menagersFour' <== '','' !!!!

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    130
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 130
    Points : 55
    Points
    55
    Par défaut
    J'ai testé en mettant des valeurs, cel marche mais par contre ca me renvoie array.

    Comment faire pour avoir la valeur ( ex: four)?

    Merci

  8. #8
    Membre averti Avatar de spilliaert
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    268
    Détails du profil
    Informations personnelles :
    Âge : 32
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2005
    Messages : 268
    Points : 307
    Points
    307
    Par défaut
    supprime les [] dans les values, alors

    ps; je n'en vois pas l'intêret de ces [] ?

    [EDIT]
    pour avoir la valeur, mets celle-ci dans les values:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <input type="checkbox" value="four">four

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    130
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 130
    Points : 55
    Points
    55
    Par défaut
    Merci beaucoup de votre rapidité dans vos aides.

    Problème résolu

    A bientt

  10. #10
    Membre averti Avatar de spilliaert
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    268
    Détails du profil
    Informations personnelles :
    Âge : 32
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2005
    Messages : 268
    Points : 307
    Points
    307
    Par défaut
    de rien, mais la prochaine fois:
    !!!
    en plus, la réponse est dans plusieurs tutos, ici-même:
    http://php.developpez.com/cours

    @+

  11. #11
    Membre averti Avatar de gofono_bass
    Inscrit en
    Décembre 2005
    Messages
    383
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Décembre 2005
    Messages : 383
    Points : 448
    Points
    448
    Par défaut
    sans les [] tu ne peux recuperer que le dernier checbox cochén donc pas tous si l'utilisateur en a coché plus d'un. je me trompe?

    Pour les recuperer, il suffit ensuite de faire une boucle:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    $tab=isset($_POST['nom_du_champ'])?$_POST['nom_du_champ']:"";
     
    for ($i=0;$i<sizeof($tab);i++)
    {
       // operations effectuée, comme insertion
     
    }
    mais bon, c'est vrai que comme ici, chaque checkbox a un nom différent, et donc ils ne sont pas liés c'est pas obligatoire
    mais pourquoi tu cours?

  12. #12
    Membre averti Avatar de spilliaert
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    268
    Détails du profil
    Informations personnelles :
    Âge : 32
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2005
    Messages : 268
    Points : 307
    Points
    307
    Par défaut
    Citation Envoyé par gofono_bass
    sans les [] tu ne peux recuperer que le dernier checbox cochén donc pas tous si l'utilisateur en a coché plus d'un. je me trompe?
    même avec des noms d'input différents ??

  13. #13
    Membre averti Avatar de gofono_bass
    Inscrit en
    Décembre 2005
    Messages
    383
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Décembre 2005
    Messages : 383
    Points : 448
    Points
    448
    Par défaut
    ben non, bien evidemment... comme je le disais
    mais bon, c'est vrai que comme ici, chaque checkbox a un nom différent, et donc ils ne sont pas liés c'est pas obligatoire
    mais pourquoi tu cours?

  14. #14
    Membre averti Avatar de spilliaert
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    268
    Détails du profil
    Informations personnelles :
    Âge : 32
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2005
    Messages : 268
    Points : 307
    Points
    307
    Par défaut

    Autant pour moi, 'pas tout lu

    sorry

    @+

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

Discussions similaires

  1. Récupérer la valeur d'une Checkbox dans une ListView
    Par LHsafae dans le forum Développement Mobile en Java
    Réponses: 1
    Dernier message: 21/02/2013, 13h14
  2. Réponses: 3
    Dernier message: 26/11/2009, 13h34
  3. Réponses: 1
    Dernier message: 27/10/2009, 14h49
  4. Récuperer valeur d'une clé dans une fonction
    Par juzii dans le forum Programmation et administration système
    Réponses: 4
    Dernier message: 18/08/2008, 11h35
  5. Réponses: 6
    Dernier message: 12/12/2006, 18h58

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