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 :

requete effectuée en fonction de si un checkbox est coché


Sujet :

PHP & Base de données

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    59
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 59
    Points : 24
    Points
    24
    Par défaut requete effectuée en fonction de si un checkbox est coché
    salut à tous

    je voudrais faire une requete SQL seulement si une checkbox a été cochée.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <form method='post' action=modifier.php>
    <input type='hidden' name='num_cn' value=".$_POST['chcn'].">
    <input type='checkbox' name='modif' value='modif'> Modifier
    <input type='submit' name='sub_form' value='modifier' >
    </form>
    puias la page modifier.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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
     
    $modif = $_POST['modif'];
     
    if(isset ($_POST['modif']))
    {
     
    if(isset($_POST['sub_form']))
    {
     
     
       if($_POST['sub_form']=="modifier") 
       {
     
          $sql1 = "UPDATE cn SET
                date_modif = '" .$date."'
     
                WHERE num_cn = ".$_POST['num_cn']."";
     
          $res1 = mysql_query($sql1) or die (mysql_error());
          echo $sql1."Requete<br>";
       }
      echo "bien effectuée<br>";
     
    }
    else {"";}
     
    }
    normalement rien qu'avec le if(isset ($_POST['modif'])), ça devrait m'effectuer la requete si le checkbox est coché à la page precedente et sinon, la requete ne s'effectue pas ..

    je comprends po

    en plus si le check n'est pas coché ça me mets une erreur à ce niveau là :
    $modifier = $_POST['modif'];
    ==> Notice: Undefined index: modif
    normal mais comment l'eviter?

    quelqu'un pour m'aider ??


    merci ++

  2. #2
    Rédacteur

    Homme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2003
    Messages
    695
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juillet 2003
    Messages : 695
    Points : 1 071
    Points
    1 071
    Par défaut
    voila qui est déjà plus propre, essaie avec ça

    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
     
    if( (isset ($_POST['modif'])) &&  (! empty($_POST['modif'])) && 
        (isset($_POST['sub_form'])) && ($_POST['sub_form']=="modifier") &&
        (isset($_POST['num_cn'] )) && ( ! empty($_POST['num_cn'])) )
    {
        $sql1 = "
            UPDATE cn SET
            date_modif = '" .$date."'
            WHERE num_cn = ".$_POST['num_cn']."";
     
        $res1 = mysql_query($sql1) or die (mysql_error());
        echo $sql1.'Requete<br>';
        if (mysql_affected_rows() == 1)
        {
            echo 'bien effectuée<br>';
        }
        else
        {
            echo 'pas bien effectuée<br>';
        }
    }
    Articles sur developpez.com
    - Gestion des exceptions avec PHP5
    - Chiffrement et hash en PHP contre l'attaque Man in the middle
    - Aedituus - Espace membre sécurisé en PHP5

  3. #3
    Membre expérimenté
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    1 349
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 349
    Points : 1 460
    Points
    1 460
    Par défaut
    de plus tu n'as pas besoin de mettre une value a ta checkbox..
    Stay in Bed .. Save Energy

  4. #4
    Membre expert Avatar de Amara
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 688
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 688
    Points : 3 115
    Points
    3 115
    Par défaut
    la signature boo

    On est en finale on est en finale on est on est on est en finale


    dsl pr le pourrissage
    Pas de questions techniques par MP, le forum est là pour ça et est plus efficace.

    Orthographe : une connexion (avec un x), un langage (sans u), une requête (un seul t), 'une quote' (avec qu), une syntaxe (sans h)

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    59
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 59
    Points : 24
    Points
    24
    Par défaut
    merci beaucoup
    mais si la personne ne coche pas le checkbox (car la personne n'est pas obligé de la cochée), $modifier = $_POST['modif']; me met une erreur Notice: Undefined index: modif
    ça fait ça vue que le check n' a pas été coché

    mais comment faire pour eviter cette erreur?

  6. #6
    Membre actif
    Homme Profil pro
    Inscrit en
    Août 2003
    Messages
    235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2003
    Messages : 235
    Points : 269
    Points
    269
    Par défaut
    $modifier = $_POST['modif']; ne peut avoir lieu si la checkbox n'a pas été checké. En clair, si tu coches pas ta case, tu ne peux pas utiliser a variable $_POST['modif'], c'est pour ça que l'on fait un isset avant, pour tester si elle existe.

  7. #7
    Rédacteur

    Homme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2003
    Messages
    695
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juillet 2003
    Messages : 695
    Points : 1 071
    Points
    1 071
    Par défaut
    fait un isset
    www.php.net/isset

    t'as regardé mon post accessoirement?
    Articles sur developpez.com
    - Gestion des exceptions avec PHP5
    - Chiffrement et hash en PHP contre l'attaque Man in the middle
    - Aedituus - Espace membre sécurisé en PHP5

  8. #8
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    59
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 59
    Points : 24
    Points
    24
    Par défaut
    ah oui pardon
    je viens de comprendre

    merci beaucoup!!

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

Discussions similaires

  1. Exécuter une fonction lorsqu'une CheckBox est cochée
    Par slhOverFlow dans le forum AWT/Swing
    Réponses: 1
    Dernier message: 10/09/2013, 22h13
  2. activer fonction quand checkbox est cochée dans formulaire php
    Par knebhi dans le forum Général JavaScript
    Réponses: 0
    Dernier message: 06/10/2010, 11h26
  3. Comment savoir si dans Listview Checkbox est coché
    Par Ardely dans le forum Delphi
    Réponses: 8
    Dernier message: 16/01/2007, 10h51
  4. Réponses: 5
    Dernier message: 23/03/2006, 12h41
  5. Vérifier si checkbox est cochée
    Par MYster dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 24/11/2005, 19h10

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