Insérer la valeur de la case si cochée = 1 et non coché = 0

barale61 Messages postés 1126 Date d'inscription   Statut Membre Dernière intervention   -  
barale61 Messages postés 1126 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

J'ai réussi à faire une requête d'insertion dans une table mysql et les données de type texte s'enregistre bien mais je souhaite savoir comment faire pour insérer la valeur de la case à cocher si cochée = 1 et non cochée = 0.

<input name="news_etat" type="checkbox" id="etat" checked="checked" />

J'ai trouvé la possibilité derécupérer une valeur de type texte mais pas trop pour le true et false ?

Merci de votre aide.

9 réponses

  1. armasousou Messages postés 1351 Statut Membre 83
     
    Tu fais un <input type="checkbox" name="check"/>

    Et dans ton traitement, t'aura un $_POST['check'] = a 1 si coché, sinon 0
    0
  2. barale61 Messages postés 1126 Date d'inscription   Statut Membre Dernière intervention   113
     
    Merci pour la réponse aussi rapide.
    0
  3. barale61 Messages postés 1126 Date d'inscription   Statut Membre Dernière intervention   113
     
    j'ai fait:

    echo $_POST['news_etat']; et il me renvoi "on" et dans ma table il écrit: 0

    mysql_query("INSERT INTO $table (etat)VALUES('$news_etat')");
    0
  4. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  5. barale61 Messages postés 1126 Date d'inscription   Statut Membre Dernière intervention   113
     
    <input name="news_etat" type="checkbox" id="news_etat" checked="checked" />


    require_once('../../Connections/ma_connexion.php');
    if (isset($_POST['envoi']))
    {
    $erreur="";
    if (isset($_POST['news_titre']) AND isset($_POST['news_texte']) AND isset($_POST['news_lien']))
    {
    if ($_POST['news_titre'] != NULL AND $_POST['news_texte'] != NULL)
    {
    mysql_select_db("$database_ma_connexion") or die('Connexion impossible');
    mysql_pconnect($hostname_ma_connexion, $username_ma_connexion, $password_ma_connexion) or trigger_error(mysql_error(),E_USER_ERROR);
    $news_titre = htmlentities($_POST['news_titre']);
    $nom = htmlentities($_FILES['MON_FICHIER_A_ENVOYER']['name']);
    $news_texte = htmlentities($_POST['news_texte']);
    $news_lien = htmlentities($_POST['news_lien']);
    mysql_query("INSERT INTO $table_news (news_titre,news_image,news_texte,news_lien,news_etat)VALUES('$news_titre','$pasdefichier','$news_texte','$news_lien','$news_etat')");
    mysql_close();
    }
    }
    }
    0
  6. xander18 Messages postés 78 Statut Membre 2
     
    tu insère new_etat mais tu lui attribue aucune valeur.

    essaye avec sa :
    if(isset($_POST['news_etat']))
    {
    $news_etat = 1; // si promo est coché
    }else{
    $news_etat= 0; // si promo est décoché
    }
    et dans ta BDD met bien que news_etat est un boolean c'est mieux
    0
  7. armasousou Messages postés 1351 Statut Membre 83
     
    new etat sera forcément "set" puisqu'il sera soit a 1 soit a 0 ^^
    0
  8. ThEBiShOp Messages postés 9307 Date d'inscription   Statut Contributeur Dernière intervention   1 607
     
    $news_etat = (isset($_POST['news_etat']) && $_POST['news_etat'] == 'on') ? 1 : 0;
    0
  9. barale61 Messages postés 1126 Date d'inscription   Statut Membre Dernière intervention   113
     
    Merci ça marche !
    0