Probleme avec les checkbox php [Résolu/Fermé]

Signaler
Messages postés
5
Date d'inscription
samedi 29 décembre 2007
Statut
Membre
Dernière intervention
30 décembre 2007
-
Messages postés
5
Date d'inscription
samedi 29 décembre 2007
Statut
Membre
Dernière intervention
30 décembre 2007
-
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

6 réponses

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 ...
}
}
Messages postés
5
Date d'inscription
samedi 29 décembre 2007
Statut
Membre
Dernière intervention
30 décembre 2007

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
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']];
   ...
Messages postés
5
Date d'inscription
samedi 29 décembre 2007
Statut
Membre
Dernière intervention
30 décembre 2007

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é.
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'];
Messages postés
5
Date d'inscription
samedi 29 décembre 2007
Statut
Membre
Dernière intervention
30 décembre 2007

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