Probleme avec les checkbox php

Résolu
Nail02 Messages postés 5 Statut Membre -  
Nail02 Messages postés 5 Statut Membre -
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. le père
     
    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 ...
    }
    }
    0
  2. Nail02 Messages postés 5 Statut Membre
     
    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
    0
  3. le père
     
    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']];
       ...
    
    0
  4. Nail02 Messages postés 5 Statut Membre
     
    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é.
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. le père
     
    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'];
    0
  7. Nail02 Messages postés 5 Statut Membre
     
    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
    0