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 le résultat de checkbox en base [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é
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    107
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Décembre 2003
    Messages : 107
    Par défaut Insérer le résultat de checkbox en base
    je cherche un moyen d'ajouter à ma base le resultat de plusieurs checkbox

    voici mon script d'ajout mais il ne fonctionne pas

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    <form method="post" name="form2" enctype="multipart/form-data" action="<?php echo $editFormAction; ?>"> 
    <label>test</label>
    <input type="checkbox" name="test[]" value="A" />A<br />
    <input type="checkbox" name="test[]" value="B" />B<br />
    <input type="checkbox" name="test[]" value="C" />C<p/>
    <input type="image" name="submit" src="images/icones/ok.gif" alt="valider" />
    <input type="hidden" name="MM_insert" value="form2">
    </form>
    et le script d'ajout
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    $essai = serialize($HTTP_POST_VARS["test"]); 
     
    $insertSQL = sprintf("INSERT INTO test (idtest, test) VALUES ('', '$essai')",
                           GetSQLValueString($HTTP_POST_VARS['test'], "text"));
    $Result1 = mysql_query($insertSQL) or die(mysql_error());
    $ID=mysql_insert_id();
    et dans la base

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    idtest     test  
    37         a:2:{i:0;s:1:"A";i:1;s:1:"B";}
    c'est des hiéroglyphes !!!! comment récupérer ensuite les données avec ce truc !!!! ya t-il une méthode plus simpe pour que j'ai une page ajouter qui insère et une page modifier pour afficher ce que la personne à selectionner... merci de votre aide[/code]

  2. #2
    Membre expérimenté
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Avril 2004
    Messages
    265
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2004
    Messages : 265
    Par défaut
    $test[0] tu as quoi dedans ?

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    107
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Décembre 2003
    Messages : 107
    Par défaut
    ben choix 1 = A, choix 2 = B, choix 3 = C

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    107
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Décembre 2003
    Messages : 107
    Par défaut
    j'ai donc réussi à ajouter des données dans la base....

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    $bidule = implode(', ' , $HTTP_POST_VARS['test']); 
    $insertSQL = sprintf("INSERT INTO test (idtest, test) VALUES ('', '$bidule')",
                           GetSQLValueString($HTTP_POST_VARS['test'], "text"));
    $Result1 = mysql_query($insertSQL) or die(mysql_error());
    $ID=mysql_insert_id();
    par un simple implode....

    mais maintenant quel script je peux utiliser pour récupérer les donnes dans la page update, voilà le résultat dans la base

    idtest test
    53 A, B

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    107
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Décembre 2003
    Messages : 107
    Par défaut
    voici le formulaire de modification... je bloque... aidez moi svp...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    <form method="post" name="form2" enctype="multipart/form-data" action="<?php echo $editFormAction; ?>">
    <?php 
    $str=$row["test"];
    print_r(explode(', ', $str, -1)); 
    ?>
    <input type="checkbox" name="test[]" value="A" <? if ($recup=='A') {echo " checked";} else {}; ?> />A<br />
    <input type="checkbox" name="test[]" value="B" <? if ($recup=='B') {echo " checked";} else {}; ?> />B<br />
    <input type="checkbox" name="test[]" value="C" <? if ($recup=='C') {echo " checked";} else {}; ?> />C<p/>
    <input type="image" name="submit" src="images/icones/ok.gif" alt="valider" />
    <input type="hidden" name="idtest" value="<? echo $idtest; ?>">
    <input type="hidden" name="MM_insert" value="form2">
    </form>

  6. #6
    Membre expérimenté
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Avril 2004
    Messages
    265
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2004
    Messages : 265
    Par défaut
    où est initialisé $recup ?

    que se passe t'il ?

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    107
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Décembre 2003
    Messages : 107
    Par défaut
    j'ai modifier le code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <?php 
    $str=$row["test"];
    $recup=print_r(explode(',', $str, -1)); 
    ?>
    cela ne marche pas mieux
    voici ce que j'ai à l'écran

    ID53

    Array ( [0] => A [1] => B )
    A //case coche
    B //case coche
    C //case coche

    alors que normalement il ne devrait avoir que A et B....

    merci de ton aide

  8. #8
    Membre expérimenté
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Avril 2004
    Messages
    265
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2004
    Messages : 265
    Par défaut
    mais euh... il ne voit que A et B puisqu'il n'y a que A et B dans le print_r, non ?

  9. #9
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    107
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Décembre 2003
    Messages : 107
    Par défaut
    oui je suis d'accord avec toi mais pourquoi il me coche le C aussi ??

  10. #10
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    107
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Décembre 2003
    Messages : 107
    Par défaut
    je n'ai toujours pas résolu mon problème.... ya t-il quelqu'un qui me peut me donner un coup de main, je suis sûre que c'est pas grand chose.

    J'ai donc une page UPDATE pour mon formulaire.... voici le code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    <?
    echo $recup=$row["test"];
    ?>
    <form method="post" name="form2" enctype="multipart/form-data" action="<?php echo $editFormAction; ?>">
    <input type="checkbox" name="test[]" value="A" <? if ($recup=='A') {echo " checked=checked";} else {}; ?> />A<br />
    <input type="checkbox" name="test[]" value="B" <? if ($recup=='B') {echo " checked=checked";} else {}; ?> />B<br />
    <input type="checkbox" name="test[]" value="C" <? if ($recup=='C') {echo " checked=checked";} else {}; ?> />C<br />
    <input type="checkbox" name="test[]" value="D" <? if ($recup=='D') {echo " checked=checked";} else {}; ?> />D<p/>
    <input type="image" name="submit" src="images/icones/ok.gif" alt="valider" />
    <input type="hidden" name="idtest" value="<? echo $idtest; ?>">
    <input type="hidden" name="MM_insert" value="form2">
    </form>
    A, B, D sont inscrits dans la base dans le champ test ! mais à l'affichage je n'arrive pas à récupérer ces données et à cocher les checkbox si dessus....

  11. #11
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    107
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Décembre 2003
    Messages : 107
    Par défaut
    j'ai trouvé youpi !!!!!!!!!!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    <form method="post" name="form2" enctype="multipart/form-data" action="<?php echo $editFormAction; ?>">
    <input type="checkbox" name="test[]" value="A" <? if (ereg("A.*",$row["test"])) {echo " checked=checked";} else {}; ?> />A<br />
    <input type="checkbox" name="test[]" value="B" <? if (ereg("B.*",$row["test"])) {echo " checked=checked";} else {}; ?> />B<br />
    <input type="checkbox" name="test[]" value="C" <? if (ereg("C.*",$row["test"])) {echo " checked=checked";} else {}; ?> />C<br />
    <input type="checkbox" name="test[]" value="D" <? if (ereg("D.*",$row["test"])) {echo " checked=checked";} else {}; ?> />D<p/>
    <input type="image" name="submit" src="images/icones/ok.gif" alt="valider" />
    <input type="hidden" name="idtest" value="<? echo $idtest; ?>">
    <input type="hidden" name="MM_insert" value="form2">
    </form>

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

Discussions similaires

  1. [MySQL] Insérer un résultat dans la base de données
    Par tiesto95 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 17/01/2009, 10h32
  2. [MySQL] Insérer complètement un array dans une base
    Par Anduriel dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 29/12/2005, 19h52
  3. Insérer des données Excel dans une base Access ?
    Par MaTHieU_ dans le forum Access
    Réponses: 3
    Dernier message: 22/06/2005, 15h11
  4. Insérer le résultat d'un SELECT
    Par zoubidaman dans le forum SQL
    Réponses: 3
    Dernier message: 16/08/2004, 16h49
  5. [VB.NET] Insérer une colonne de CheckBox dans un DataGrid
    Par Manue.35 dans le forum Windows Forms
    Réponses: 2
    Dernier message: 22/05/2003, 11h44

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