Insertion de plusieurs valeurs dans un même champ de MySQL
Bonjour,
En suivant l'exemple du livre "Introduction à MySQL et PHP" de Philippe Rigaux, j'ai créé un formulaire d'insertion de films dans une table de MySQL nommée FilmComplet. Chaque film pouvant appartenir à plusieurs genres, le formulaire contient une checkbox avec name='genre[]', le champ correspondant de la table MySQL est de type "SET" et le script PHP lancé depuis le formulaire (repris du livre) contient le morceau de code ci-dessous :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
|
//Préparation de la chaîne pour l'insertion
$chaine_genre = ""; $separateur = "";
for ($i = 0 ; $i < count($genre) ; $i++)
{
$chaine_genre = $separateur . $genre[$i];
$separateur = ",";
}
echo "Genres : $chaine_genre<br/>";
echo "Résumé = $resume<br/>\n";
echo "Mis en scène par $prenom $nom\n";
// Connexion à la base et création de la commande SQL
if (isSet($_POST['inserer']))
$requete = "INSERT INTO FilmComplet (titre, annee, prenom_realisateur, nom_realisateur, annee_naissance, pays, genre, resume)
VALUES ('$titre', $annee, '$prenom', '$nom', $annee_naissance, '$pays', '$chaine_genre', '$resume') "; |
Quand je demande un affichage de toute la variable $_POST par "echo print_r($_POST);", je vois bien que le tableau des genres sélectionnés dans le formulaire est passé dans la variable mais quand j'affiche l'enregistrement de la table dans PHP MyAdmin, il n'y a aucune valeur dans le champ genre alors que toutes les valeurs des autres champs de l'enregistrement sont bien passées dans la table, elles ! :(
Quelqu'un peut-il m'aider à comprendre pourquoi le champ "genre" de ma table MySQL ne reçoit pas le tableau des genres sélectionnés dans le formulaire et passés dans la variable *_POST ?
Merci d'avance.
Petite correction de mon message précédent
Oups, c'est "oubli d'un _ devant un POST" (ou "derrière le $") que je voulais écrire et non "derrière un POST", évidemment !
Génial cette fonction "implode"...
je viens d'essayer et ça marche au poil ! :)
Merci Sabotage ; finalement j'ai bien fait de ne retrouver mes erreurs de code qu'après avoir posté mon message ! ;)