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érer plusieurs cases cochées [Débutant(e)] [MySQL]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de nimbus_77
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    109
    Détails du profil
    Informations personnelles :
    Âge : 69
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 109
    Par défaut Récupérer plusieurs cases cochées
    bonsoir,
    j'ai cherché toute la journée, mais je n'ai pas du trouver le bon tuto.

    j'ai un tableau issu d'une requete qui offre 97 cases à cocher :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    // extraction des trps existant
                    $req_liste_dpt="select DISTINCT DP from route WHERE DP <> ''  ORDER BY DP ASC";
                    $result_liste_dpt = mysql_query($req_liste_dpt) or die ("req_liste_dpt avortee");
                            while ($row = mysql_fetch_object($result_liste_dpt))
                               {echo $row->DP . '<INPUT type="checkbox" name="$row->DP" value="' . $row->DP . '"> ' ;}
                    $compte_dpt="select COUNT(DISTINCT(DP)) from route WHERE DP <> '' ";
                            $row = mysql_fetch_row(mysql_query($compte_dpt)) or die ("req_compte_dpt avortee");
                            $nb_dpt = $row[0];
     
                           echo "<input type='hidden' name='nb_dpt' value='$nb_dpt'>" ;
                           echo "<input type='submit' value='ENREGISTRER'";
    je veux inserer dans une table les différents départements cochés, je dois oublier quelque chose, évidemment, parce qu'il m'insère 97 fois la derniere valeur cochée .
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    $n = 0;
     
    while ($n< $nb_dpt) {
    $DP = $_POST['$row->DP'];
     
    $base_trps =  ('dls_trps_' . $trps) ;
    //echo $DP , $base_trps ; exit ;
     
             $requete1 = "INSERT  INTO  $base_trps (nom,dpt) VALUE ('$trps', '$DP')";
            $result1 = mysql_query ($requete1) or die ("requette 1 invalide");
    $n++;
    }
    MERCI de m'orienter.

    nimbus_ka_malalatete !

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <INPUT type="checkbox" name="$row->DP" value="' . $row->DP . '">
    Les variables ne sont pas interpretés à l'interieur de guillements simples ; toutes tes cases s'appelent donc "$row->DP"

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <INPUT type="checkbox" name="' . $row->DP .'" value="' . $row->DP . '">
    Je te propose egalement un truc qui ressemblerait plus à ca :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <INPUT type="checkbox" name="dpt_checked[]" value="' . $row->DP . '">
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    foreach ($_POST['dpt_checked'] as $ndpt) {
     
    INSERT ....
     
    }
    Parce qu'il ne faut pas oublier que seul les cases cochées sont presentent dans le $_POST. Donc en parcourant les numéros de departement, tu vas te retrouver avec des cas vides.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre confirmé Avatar de nimbus_77
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    109
    Détails du profil
    Informations personnelles :
    Âge : 69
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 109
    Par défaut MERCI !
    La seconde réponse est parfaite !

    Je me suis noyé dans des histoires de tableau, alors que c'était la déclaration 'checked' !

    Merci encore

    Nimbus_heureux (jusqu'au prochain casse_la_tête)

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

Discussions similaires

  1. [MySQL] Enregistrer plusieurs case à coché en base de données
    Par mademoizel dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 05/06/2010, 21h37
  2. Réponses: 3
    Dernier message: 13/05/2008, 12h57
  3. Réponses: 4
    Dernier message: 20/08/2007, 01h16
  4. Réponses: 2
    Dernier message: 27/07/2007, 18h37
  5. Réponses: 7
    Dernier message: 21/05/2007, 09h56

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