Je suis en train de coder un script d'archive de film en utilisant codeigniter pour moi-même avec PHP. Je reçois des informations sur le film d'IMDb et je les ajoute à ma base de données. J'ajoute des liens pour les films que j'ai sélectionnés en utilisant une autre table appelée liens.Joindre des rangées en tant que tableau d'une autre table pour chaque ligne
C'est la requête que j'utilise pour obtenir les films de base de données:
$movies = $this->db->query("SELECT *
FROM movies
ORDER BY ".$order['by']." ".$order['type']."
LIMIT ".$limit.", " . $this->config->item('moviePerPage')
);
et je suis aller chercher dans le fichier de vue comme celui-ci:
foreach ($movies->result() as $row) {
echo $row->name;
}
maintenant des liens doivent être affichés pour chaque film avec les ID correspondants (les films pourraient avoir plus d'un lien). Ma table de liens a ces colonnes: 'id', 'movieid', 'nom', 'lien'
Comment puis-je obtenir des liens pour chaque film avec une seule requête MySQL? Est-il possible d'obtenir tous les liens liés au film $ row courant et de les lier à une seule variable en tant que tableau? avec ceci je peux le boucler avec foreach() et montrer des liens pour chaque film. Btw: movies.movieid et links.movieid colonnes ont les mêmes données. REJOIGNEZ les deux tables, comme le nom de votre question l'indique.
Les liens peuvent avoir des virgules. Ce que vous faites n'appartient pas à SQL.La création de structures de données et la logique d'affichage appartiennent à l'application. –
@Dan Grossman - si les virgules sont un problème, un autre délimiteur inhabituel peut être utilisé comme '%% @@ && @@ %%' Comment cela n'appartient-il pas à SQL? group_concat est une clause mysql et est utilisée comme ceci. Je ne suis pas ici pour imposer ma réponse mais ce qui ne va pas. Les utilisateurs doivent seulement faire attention aux pièges et c'est tout. –
J'ai dû utiliser 'SEPARATOR' avant le' ',' 'pour exécuter la requête avec succès. [Voir doc] (http://dev.mysql.com/doc/refman/5.0/fr/group-by-functions.html#function_group-concat). –