J'ai 3 tables au total dans phpMyAdmin:Comment sélectionner un à plusieurs données relationnelles en PHP PDO
Films:
tmdb_movies
Cast:
cast
. clé étrangère estcast_tmdb_id
pour la tabletmdb_movies
colonnetmdb_id
screenshotGenres:
genres
. clé étrangère estgenres_tmdb_id
pour la tabletmdb_movies
colonnetmdb_id
screenshot
Je veux sortir les champs suivants:
movie_title
colonne detmdb_movies
Tabletoutes
genres_name
lignes degenres
Tabletous
cast_name
lignes du tableaucast
.
Quelle est la plus petite commande pour sélectionner et écho des données? Je ne suis pas familier avec la commande join
dans SQL.
Ceci est mon code actuel
<?php
$stmt = $conn->prepare("SELECT tmdb_movies.*, GROUP_CONCAT(genres_name) as genres_name
FROM tmdb_movies JOIN genres ON tmdb_movies.tmdb_id=genres.cast_tmdb_id
GROUP BY tmdb_movies.cast_tmdb_id, tmdb_movies.tmdb_id, tmdb_movies.movie_title");
// Then fire it up
$stmt->execute();
// Pick up the result as an array
$result = $stmt->fetchAll();
// Now you run through this array in many ways, for example
foreach ($result as $row) {
print "".$row["movie_title"]." ".$row["genres_name"] ." ".$row["cast_name"] ."<br/>";
}
?>
Obtenez-vous une erreur avec votre code actuel? Si oui, quel est le message d'erreur? – jason
On dirait que 'ON tmdb_movies.tmdb_id = genres.cast_tmdb_id' devrait être' ON tmdb_movies.tmdb_id = genres.genres_tmdb_id'. – jason
'Erreur irrécupérable: PDOException non interceptée: SQLSTATE [42S22]: Colonne non trouvée: 1054 Colonne inconnue 'tmdb_movies.genres_tmdb_id' dans 'instruction de groupe' dans' –