Problème intégration données SQL dans tableau

Fermé
Debideb9445 Messages postés 41 Date d'inscription lundi 22 novembre 2010 Statut Membre Dernière intervention 3 juillet 2017 - 25 nov. 2015 à 19:46
Pitet Messages postés 2826 Date d'inscription lundi 11 février 2013 Statut Membre Dernière intervention 21 juillet 2022 - 26 nov. 2015 à 09:22
Bonjour ou rebonjour pour certains,

Je suis toujours avec mon site internet de gestion de film.

Pour rappel : mon site consiste à répertorier les films que j'ai vu et ceux que je n'ai pas vu.

Jusqu'ici, j'ai réussi à tout faire (notamment grâce à une certaine aide des internautes de ce site). Il me manque plus qu'une dernière chose !

Voilà le topo :

J'ai une base de données avec une table "film" avec à l'intérieur les champs "id_film" et "film_name" (+ d'autres champs mais j'en ai pas besoin dans l'immédiat)

J'ai une seconde table "film_user" avec à l'intérieur les champs : "id_film", "id_user" et "check-film"

"check_film" peut prendre la valeur 1 (=film vu) ou 2(=film déjà vu).

Voici un exemple de ma table "film_user" après qu'un utilisateur est inscrit les films qu'il a vu et souhaite voir :


Comme vous pouvez le remarquer, cet utilisateur à vu 2 films et veux en voir 1 .


Mon problème consiste à intégrer ces données dans un tableau.
Pour ce faire j'ai créé un fichier Vos_films. Ce fichier va me permettre d'afficher le tableau avec les films à voir dans une colonne et les films déjà vus dans une autre colonne.

Voici le code que j'ai effectué :

<?php
session_start();
require_once "Mise_en_page.php";
require_once "BaseDeDonnee.php";

//récupération de l'id user
$id_user = !empty($_SESSION['id_user']) ? $_SESSION['id_user'] : NULL;


?>
<html>

<head>
<meta charset="utf-8" />
<title>Vos Films</title>
<link rel="stylesheet" href="css/CodeCSS.css" />
</head>

<body>

<table>
<tr>
<td><h2>Films déjà vus :</h2><td>

<?php if( $id_user ){
$sql1 = "SELECT id_film FROM film_user WHERE id_user='$id_user' AND check_film='1' ";
$id_film = $bdd->query($sql1);
$sql2 = "SELECT film_name FROM film WHERE id_film='$id_film'";
$film_name = $bdd->query($sql2);

}
while ($donnees = $film_name->fetchall()) {
echo $donnees['film_name']; } ?>

<td><h2>Films à voir :</h2><td>

<?php if( $id_film ){
$sql3 = "SELECT id_film FROM film_user WHERE id_user='$id_user' AND check_film='2' ";
$id_film = $bdd->query($sql3);
$sql4 = "SELECT film_name FROM film WHERE id_film='$id_film'";
$film_name = $bdd->query($sql4);

}
while ($donnees = $film_name->fetchall()) {
echo $donnees['film_name']; ?>
</tr>
</table>



</body>

</html>
<?php
}
$film_name->closeCursor(); // Termine le traitement de la requête
?>


Evidemment c'est faux ...

Voilà le résultat :


Pouvez vous m'aider à y voir plus clair ?

1 réponse

Pitet Messages postés 2826 Date d'inscription lundi 11 février 2013 Statut Membre Dernière intervention 21 juillet 2022 524
26 nov. 2015 à 09:22
Salut,

La variable $id_film est un objet PDOStatement et pas le nom du film. Il faut effectuer un fetch sur ce statement pour récupérer la donnée.

Bonne journée
0