IMPORTANT Pb pour enregistrer form en PHP

Résolu
Bonjour,
Bonjour,
je voudrais enregistrer plusieurs checkbox coché dans ma bdd
jessaye depuis longtemps mais je n'y arrive pas aidez moi plzzz

HTML

<td><strong>Travaux souhaités</strong></td>
<td><input type="checkbox" value="options" name="options" /> A <br />
<input type="checkbox" value="options" name="options" /> B <br />
<input type="checkbox" value="options" name="options" /> C <br />
<input type="checkbox" value="options" name="options" /> D <br />
<input type="checkbox" value="options" name="options" /> E</td>

PHP

if (isset($_POST['options']))
{
$net = "1";

// on écrit la requête sql
$sql2 = "INSERT INTO DEVIS(nomclient, numcli, numtravaux) VALUES('$nom', '$mysql_id', '$net')";
}

Je n'arrive pas a dire a la requete la distinction des checkbox
aidez moi plzzz
merci
Configuration: Windows Vista Internet Explorer 7.0

6 réponses

  1. Si on reprend l'exemple du site :
    <input type="checkbox" value="1" name="options[]" /> A<br />
    <input type="checkbox" value="2" name="options[]" /> B <br />
    <input type="checkbox" value="3" name="options[]" /> C <br />
    <input type="checkbox" value="4" name="options[]" /> D <br />
    <input type="checkbox" value="5" name="options[]" /> F </td>
    
    1. jviens de voir le site c'est ce que j'ai fait (enfin jpense)
      le pb maintenant c'est que ca n'enregistre seulement la dernière case coché et pas tte les case

      <td><strong>Travaux souhaités</strong></td>
      <td><input type="checkbox" value="1" name="options" /> A<br />
      <input type="checkbox" value="2" name="options" /> B <br />
      <input type="checkbox" value="3" name="options" /> C <br />
      <input type="checkbox" value="4" name="options" /> D <br />
      <input type="checkbox" value="5" name="options" /> F </td>

      if (isset($_POST['options']))
      {
      $ids = implode(', ', $_POST['options']) ;
      // on écrit la requête sql
      $sql2 = "INSERT INTO DEVIS(nomclient, numcli, numtravaux) VALUES('$nom', '$mysql_id', '$ids')";
      }
      // on insère les informations du formulaire dans la table
      mysql_query($sql2) or die('Erreur SQL !'.$sql2.'<br>'.mysql_error());

      //j'ai fait un echo pour voir l'enregistrement ca n'affiche ke la dernière coché
      echo '<p>options:<br><br>'.$options.'</p>';

      :(
      1. Je suis partie dans les boutons et pas dans les checkbox. Désolée.
        Il y a quelque chose qui ressemble à ton code (au moins pour l'implode) : http://actuel.fr.selfhtml.org/articles/phpasp/boitacocher/index.htm
        1. Je sais pas trop ce que tu veux faire, mais si tu veux récupérer la valeur qu'il y a dans $_POST['options'], tu peux faire :
          $valeur=$_POST['options'];

          Tu auras donc dans $valeur, soit A, soit B, soit C, soit D, soit E selon le choix de l'utilisateur dans le formulaire.
          1. j'ai fais ca

            if (isset($_POST['options']))
            {
            $ids = implode(', ', $_POST['options']) ;
            // on écrit la requête sql
            $sql2 = "INSERT INTO DEVIS(nomclient, numcli, numtravaux) VALUES('$nom', '$mysql_id', '$ids')";
            }

            car le user peut coché plusieurs cases donc je dois enregistrer toutes les cases
          2. @bipet ma technique ne fonctionne pas
            ya écri
            Warning: implode() [function.implode]: Invalid arguments passed in devis.php on line 38
            et ligne 38 cé le implode
        2. Bonjour,
          Il faut que tu changes tes valeurs dans les balises :
          <td><input type="checkbox" value="A" name="options" /> A <br />
          <input type="checkbox" value="B" name="options" /> B <br />
          <input type="checkbox" value="C" name="options" /> C <br />
          <input type="checkbox" value="D" name="options" /> D <br />
          <input type="checkbox" value="E" name="options" /> E</td> 
          1. ok merci Adenora
            et après je fis comment a partir de là ?

            if (isset($_POST['options']))
            {