Partage
  • Partager sur Facebook
  • Partager sur Twitter

Gestion multiple de checkbox

j'ai du mal

Sujet résolu
    18 février 2007 à 17:17:52

    Bonjour.

    Voila j'ai un petit probleme.
    J'ai une table mysql (j'ai laisser 2 entrée afin de vous montrer mon bazard)

    CREATE TABLE `bdd_langues` (
      `id` smallint(10) NOT NULL AUTO_INCREMENT,
      `type` varchar(255) collate latin1_general_ci NOT NULL,
      `nom` varchar(255) collate latin1_general_ci NOT NULL,
      `url` varchar(255) collate latin1_general_ci NOT NULL,
      `langue` varchar(255) collate latin1_general_ci NOT NULL,
      KEY `id` (`id`)
    ) ENGINE=MyISAM AUTO_INCREMENT=33 DEFAULT CHARACTER SET utf8 COLLATE utf8_bin COLLATE=latin1_general_ci AUTO_INCREMENT=33 ;

    --
    -- Contenu de la table `bdd_langues`
    --

    INSERT INTO `bdd_langues` VALUES (4, 'categorie', 'Europe', '', '');
    INSERT INTO `bdd_langues` VALUES (6, 'sous_categorie', 'Europe/Français', 'fr', '');


    Bon grâce à un code php pas beau, j'arrive pas à faire une jointure donc j'ai mis une requete dans une boucle :
    <h4>Langues disponibles : </h4>
    <?php
            $reponse6 = mysql_query("SELECT * FROM bdd_langues WHERE type='categorie' ORDER BY nom")or die(mysql_error());     
           
            while ($donnees6 = mysql_fetch_assoc($reponse6))
                    {
                            echo '<div class="langue">';
                            echo '<h4>'.$donnees6['nom'].'</h4>';
                            echo '<ul>';                                               
                            $reponse3 = mysql_query("SELECT * FROM bdd_langues WHERE type='sous_categorie' AND nom LIKE '".$donnees6['nom']."%' ORDER BY nom")or die(mysql_error());                       
                            while ($donnees3 = mysql_fetch_assoc($reponse3))
                                    {
                                            echo '<li><label><input type="checkbox" name="'.$donnees3['nom'].'" ';
                                            if ( (isset($nationalite) && $nationalite == $donnees3['nom']) OR (isset($donnees['nationalite']) && $donnees['nationalite'] == $donnees3['nom']) ) { echo'selected="selected"';}
                                            $sous_cat = afficher_sous_cat($donnees3['nom']);
                                            echo ' />'.$sous_cat.' </label> </li>';
                                    }
                            echo '</ul>';
                            echo '</div>';
                    }
    ?>


    Bref si quelqu'un peu me guider sur la jointure a effectuer, j'ai bien lut le tuto la dessus, mais j'ai pas tout compris. Bref c'est pas mon problème principal.

    Donc quand je coche les langues, je me retrouve avec des $_POST['continent/pays'] = on.
    Mais comment je peut faire pour gerer sa ?
    j'ai essayer le $_POST['.$donnees['nom']'] (ayant fait une requete au préalable pour récuperer les nom des langues) mais sa fonctionne pas. j'ai regarder du coté des in_array, mais je ne vois pas coment l'utiliser, j'en reviens toujours à mon problème pour mettre la clef du $_POST.

    J'espère être assez clair dans mes explications.

    Merci à vous.
    • Partager sur Facebook
    • Partager sur Twitter
      18 février 2007 à 19:40:43

      Il ne faut pas mettre $donnees3['nom'] dans le name de l'input, mais dans son value.

      echo '<input type="checkbox" name="langage[]" value="' . $donnees3['nom'] . '" />';


      pour un checkbox, c'est checked et pas selected.

      Pour ne pas faire de requête dans ta boucle, il faudrait la structure de la 2nde table.
      • Partager sur Facebook
      • Partager sur Twitter
        18 février 2007 à 20:38:44

        A d'acord, je doit mettre un name="language[]", moi j'avais essayé sans crochets, ok merci. et donc en value la valeur de ma checkbox.

        Pour le selected, oui j'ai fait un bête copier coller, de ma liste déroulante du dessus et j'ai oublier de le changer, merci de la remarque.

        Heu j'ai qu'une seule table. Mais je met entre les <h4> </h4> ne no mdes entrée ayant pour type catégorie, et les autres sous catégories en checkbox.

        Merci.

        Voila j'ai testé, cela me convient très bien, encore merci, je voyais vraiment pas comment faire.
        Maintenant je peu faire ce don j'ai besoin.

        Sujet résolu.
        • Partager sur Facebook
        • Partager sur Twitter

        Gestion multiple de checkbox

        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
        • Editeur
        • Markdown