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 :

Insérer les valeurs du checkbox et d'une colonne dans une bdd


Sujet :

PHP & Base de données

  1. #1
    Membre confirmé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2021
    Messages
    81
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Décembre 2021
    Messages : 81
    Par défaut Insérer les valeurs du checkbox et d'une colonne dans une bdd
    Bonjour, je sollicite votre aide car je n'arrive pas à insérer les valeurs de mon checkbox dans ma bdd.
    La structure de ma table annonces étant de la façon suivante après avoir ajouté 2 colonnes superficie et unite auxquelles j'ai donné des valeurs par défaut NULL, car certaines catégories n'ont pas de superificie (les voitures par exemple).
    Nom : y5.png
Affichages : 218
Taille : 119,9 Ko

    Lors de l'insertion des données pour les catégories ayant des superficie (ex: appartement) les 2 colonnes ne sont plus NULL, mais égale à 1


    Voici: La partie concernée dans la formulaire:
    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <span><label for= "superficie">Superficie</label></span> <br>
                <input type="number" id="superficie" name="superficie">  <br> <br>
     
                <span> <label for= "unite">Unité</label></span> <br>
                <input type="checkbox" name="unite[]" value="m2"> m2 <br>
    <input type="checkbox" name="unite[]" value="ha">ha
    <br> <br>

    La partie PHP:
    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
    function insertAnnonce($created_by_member,$id_membre,$id_categorie,$id_ville,$pseudo,$telephone,$email,$titre,$description,$prix,$superficie,$unite){
      global $bdd;
     
     
      $sql= "INSERT INTO annonces(created_by_member,id_membre,id_categorie,id_ville,pseudo,telephone,email,titre,description,prix,superficie,unite) VALUES(?,?,?,?,?,?,?,?,?,?,?,?)";
      $datas= array($created_by_member,$id_membre,$id_categorie,$id_ville,$pseudo,$telephone,$email,$titre,$description,$prix,$superficie,$unite);
      //Execution de la requete
      try{ //requete pour la première tabels
        $requete = $bdd->prepare($sql);
    //... SUITE....
     
     
     
    $superficie= (isset($_POST['superficie']));  
    $unite= (isset($_POST['unite']));
    Ai-je bien défini les variables $superficie et $unite?

  2. #2
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 506
    Par défaut
    Bonsoir,

    Votre souci est que votre checkbox ont un nom unique sous forme de tableau 'unite[]'
    Alors soit vous accepter qu'il y a plusieurs valeurs possible et vous devez faire un foreach() pour récupérer toutes les valeurs et faire un traitement adéquat avant d'insérer en db.
    Soit vous insérer d’office la première réponse coché Soit vous enlevez le crochet au nom
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="checkbox" name="unite" value="m2"> m2 <br>
    et c'est la dernière réponse qui est prise en compte.
    Le plus simple vous remplacer les checkbox par des boutons radios, car il me semble qu'on ne peux choisir qu'un type d'unité de mesure.

Discussions similaires

  1. Réponses: 3
    Dernier message: 19/09/2014, 13h56
  2. Réponses: 1
    Dernier message: 26/05/2010, 15h34
  3. Insérer les valeurs d'un tableau dans une table
    Par Konami15 dans le forum ASP
    Réponses: 30
    Dernier message: 30/09/2008, 15h14
  4. Comment insérer les valeurs d'une requete dans une variable tableau
    Par uptoditime dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 04/12/2007, 12h03
  5. Réponses: 5
    Dernier message: 23/08/2006, 19h42

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