Partage
  • Partager sur Facebook
  • Partager sur Twitter

case a cocher formulaire

    28 août 2006 à 22:11:40

    Bonsoir à tous,

    Je cherche un renseignement par rapport aux cases à cocher. J'explique ma recherche.
    Je vais afficher les enregistrements de ma table. Pour chacun, je mets une case à cocher (name="sel" value="id"). Quand je vais envoyer le formulaire, si j'en coche plusieurs, à quoi va ressembler ma variable $sel.
    J,ai retrouvé un fichier ASP que j'avais fait il y a longtemps. il me semble que ca me donnait des valeurs séparées par des virgules.
    • Partager sur Facebook
    • Partager sur Twitter
      28 août 2006 à 22:28:52

      heuuu le plus simple c'est ça :

      <input type="checkbox" name="id" />
      et dans le fichier php :

      <?php
      foreach($_POST as $key => $val)
          if($val == "on")
              echo "l'id ".$key." a été coché.";
      • Partager sur Facebook
      • Partager sur Twitter
        28 août 2006 à 22:32:12

        ce qui m'intéresse, c'est recupérer les values !!
        • Partager sur Facebook
        • Partager sur Twitter
          28 août 2006 à 22:33:50

          ba justement si dans name tu mets les valeurs alors dans value tu auras "on" ou NULL
          • Partager sur Facebook
          • Partager sur Twitter
            29 août 2006 à 8:40:08

            j'avais ceci en ASP, je voudrais le reproduire en php
            chspr=Request.form("sel")
            sprSQL=replace (chspr,","," or id=")
            SQL="select * from [produits] where id=" & sprSQL & " order by date desc, titre"
            Set RS = conn.Execute(SQL)

            et voudrais donc obtenir en php
            $sql='WHERE sel='.$sprSQL
            mysql_query ("DELETE FROM news ".$sql);

            ce qui donnerait
            mysql_query ("DELETE FROM news WHERE sel=1 or sel=2 or sel=3 ....");


            Quelle est la correspondance de la fonction replace ?
            • Partager sur Facebook
            • Partager sur Twitter
              29 août 2006 à 8:59:32

              $arrayCheckboxesCochees = array_keys($_POST, 'on');
              Te retourne toutes les checkboxes cochées dans un array.
              Après tu peux faire un
              WHERE sel IN('.implode(',', $arrayCheckboxesCochees).')
              • Partager sur Facebook
              • Partager sur Twitter
                29 août 2006 à 9:04:02

                Je débute en hp, peux tu m'exppliquer la fonction implode ?
                J'ai appris une requete SQL ecrite comme ca : WHERE sel=, la je vois pas le "="
                • Partager sur Facebook
                • Partager sur Twitter
                  29 août 2006 à 9:34:56

                  Il a bien retenu la leçon Dentuk, c'est bien ! ;)

                  Citation : herve.lagarde

                  Je débute en hp, peux tu m'exppliquer la fonction implode ?
                  J'ai appris une requete SQL ecrite comme ca : WHERE sel=, la je vois pas le "="


                  Si tu débutes, raison de plus pour aller lire la doc ! :-°
                  implode

                  Edit note :
                  Le IN est un prédicat Mysql utilisé avec la clause WHERE(une assertion en somme)
                  En plus, IN est très rapide ;)
                  • Partager sur Facebook
                  • Partager sur Twitter
                    29 août 2006 à 10:07:25

                    mon but reste de savoir comment récuprer les valeurs des checkboxes
                    • Partager sur Facebook
                    • Partager sur Twitter
                      29 août 2006 à 10:25:54

                      Citation : herve.lagarde

                      mon but reste de savoir comment récuprer les valeurs des checkboxes


                      Mais bon dieu, Dentuk t'as donné la solu ????
                      Je vois pas le problème ? o_O

                      A oui, faut nommer tes checkbox comme ça dans ton formulaire :
                      <input type="checkbox" name="truc[]" value="'.$lavariable.'">

                      Puis implode sur $_POST['truc'] ;)
                      • Partager sur Facebook
                      • Partager sur Twitter
                        29 août 2006 à 14:54:43

                        J'ai recopié ce que m'a donné Dentuk :
                        $arrayCheckboxesCochees = array_keys($_POST, 'on');
                        mysql_query ("DELETE FROM news WHERE sel IN('.implode(',', $arrayCheckboxesCochees)");


                        Ca n'efface rien dans ma table. Comprends pas ce que je fais et encore moins ce qui se passe
                        • Partager sur Facebook
                        • Partager sur Twitter
                          29 août 2006 à 15:00:14

                          Citation : herve.lagarde

                          J'ai recopié ce que m'a donné Dentuk :


                          Bah oui, forcément pourquoi tenter de comprendre quand il existe le fumeux copié/collé, hein ? :-°
                          Je t'ai expliqué ce qu'il fallait faire, relis mon post.
                          • Partager sur Facebook
                          • Partager sur Twitter
                            29 août 2006 à 16:47:23

                            j'ai recopié mais ca fait pas ce ke je veux puisque rien est effacé donc faire sans comprendre C bien (suis pas d'accord) mais quand ca marche
                            • Partager sur Facebook
                            • Partager sur Twitter
                              29 août 2006 à 17:38:46

                              ça marche pas n'a jamais été une info exploitable... c'est un constat, rien de plus.

                              Alors merde, impliques-toi au lieu d'atttendre la bouche ouverte.

                              T'as recopié quoi ?
                              T'as fait quoi ?
                              Ton code est où ?
                              Tu nous as montré quoi ?

                              Jusque là, à part pleurnicher, on a RIEN VU!
                              • Partager sur Facebook
                              • Partager sur Twitter
                                29 août 2006 à 19:38:07

                                t'as mon code a 14h54, regarde !!! et j'ai mis que cua pour l'instant le delete ne s'effectue pas, que te dire de plus ?
                                • Partager sur Facebook
                                • Partager sur Twitter
                                  29 août 2006 à 19:51:16

                                  Tu le fais exprès ou t'es vraiment lourd ?
                                  C'est pas possible ça ?
                                  Je t'ai demandé de me montrer ton formulaire, tes cases à cocher, bref ton code.

                                  EDIT : non, laisse tomber, ça ne m'amuse plus. ^^
                                  • Partager sur Facebook
                                  • Partager sur Twitter
                                    29 août 2006 à 20:36:07

                                    C'est a savoir qui est lourd !!! Excuse moi mais j'ai pas viu que tu demandes le formulaire. Le voici :
                                    echo "<table width=\"550\" align=\"center\"><tr>";
                                    echo '<form method="post" action="news_desinscription.php">';
                                    while ($donnees = mysql_fetch_array($reponse))
                                    {
                                            echo '<tr>';
                                            echo '<td width="25"><input type="checkbox" name="sel[]" value="'.$donnees['id'].'">';
                                            echo '<td width="200">'.$donnees['nom'].' '.$donnees['prenom'].'</td>';
                                            echo '<td width="225">'.$donnees['mail'].'</td>';
                                            echo '</tr>';
                                    }
                                    echo '</tr><tr><td colspan="3" align="center"><input type="submit" value="Supprimer" name="suppr"></td></tr>';
                                    echo '</form></table>';
                                    • Partager sur Facebook
                                    • Partager sur Twitter
                                      30 août 2006 à 13:49:46

                                      Le formulaire est au dessus
                                      J'ai mis dans mon code dans la page qui recoit le formulaire:
                                      $arrayCheckboxesCochees = array_keys($_POST);
                                      print_r ($arrayCheckboxesCochees)


                                      Ca me donne ca : Array ( [0] => sel [1] => suppr )

                                      Comment puis je donc récupérer les valeurs des sel du formulaire
                                      • Partager sur Facebook
                                      • Partager sur Twitter

                                      case a cocher formulaire

                                      × 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