Probleme avec les checkbox php

Résolu
Bonjour,
Voila je dois creer un site web sur le cinema pour un projet pour mes etudes,mais j'ai un problème avec les cases à cocher tout d'abord dans un formulaire je recupère le nom des salles de cinéma pour les afficher en tant que case à cocher comme ceci

$requete= mysql_query('SELECT * FROM cinema ORDER BY numCine');

while($ligne=mysql_fetch_array($requete))
{

echo'<input type="checkbox" name="'.$ligne['numCine'].'" />' .$ligne["nomCine"].' <br />';
}

mais j'ai un problème ensuite pour recuperer le numero de cinema selectionné et l'inserer dans la base de données.

pouvez vous m'aidez svp?
merci
Configuration: Windows XP
Internet Explorer 6.0

6 réponses

  1. Merci beaucoup c'était pourtant simple :s juste une petite erreur dans la définition des variables je vais pouvoir avancer dans mon projet ^^.merci encore
    1. Mais si ça marche ! Bon, ça marche presque.

      Effecivement,$_POST[$ligne['numCine']] est forcément à 'on' puisque seules les case cochées sont transmises. il fallait lire
      $numCine=$ligne['numCine'];
      1. je viens de faire ceci mais mon probleme vient du fait que je n'arrive pas à recuperer les numeros de cinema que j'ai cocher prècedement dans le formulaire tout ce que je recupere c'est 'on' qui signifie que la case est coché.
        1. Bonjour

          $numCine = $_POST[$ligne['numCine']]; 
          if(isset($numCine)) ...


          Cette suite d'instructions est illogique ! Sais-tu à quoi sert la fonction isset ? Elle sert à tester si une variable est définie, c'est à dire contient une valeur. Si tu fais $numCine=qqchose à une ligne, la ligne suivante $numCine est forcement défini. Le isset, il faut le faire sur $_POST[$ligne['numCine']] :
          if(isset($_POST[$ligne['numCine']])) {
              $numCine = $_POST[$ligne['numCine']];
             ...
          
          1. je recupere les données de cette facon

            $requete= mysql_query('SELECT * FROM cinema ORDER BY numCine');
            while($ligne=mysql_fetch_array($requete))
            {

            $numCine = $_POST[$ligne['numCine']];
            if(isset($numCine))
            {

            mysql_query("INSERT INTO PROJETER VALUES('',$numCine)");
            }

            }

            mais voila en faites lorsque que je coche par exemple 2 cinéma où le film est projeté j'ai un message d'erreur qui s'affiche pour les 3 autres cinéma que je n'ai pas coché :

            Notice: Undefined index: 3 in c:\program files\easyphp1-8\www\cinema\admin\ajout.php on line 30

            Notice: Undefined index: 4 in c:\program files\easyphp1-8\www\cinema\admin\ajout.php on line 30

            Notice: Undefined index: 5 in c:\program files\easyphp1-8\www\cinema\admin\ajout.php on line 30
            le film à bien été rajouter dans la base de données
            1. Bonsoir

              Ça n'a pas l'air mal parti. Peux-tu montrer comment tu essayes de récupérer les données ? Normalement, tu devrais avoir une boucle du style :

              while($ligne=mysql_fetch_array($requete))
              {
              if (isset($_POST[$ligne['numCine']]) {;
              .. traitement case cochée ...
              }
              }