我已经在phpmyadmin的数据库上设置了两个表,并且我已经通过php文件向他们添加了内容。表格如下所示:
名称:电影。
列: ID,title,directorID(当从表格中添加到表格时,获取与导演相同的ID)。
姓名:导演。
列: ID(数字),名称。
我现在要做的是打印(通过使用SELECT和查询/数组)所有导演的列表,以及他们导演的电影"。像这样:
"导演:电影,电影。"
"下一任导演:电影。"
等等,直到所有的导演和他们的电影都被打印出来。我已经设法以不同的顺序显示列表,只使用一个表,但我似乎无法掌握如何从两个表中执行此操作。任何帮助将不胜感激。对不起,如果我不清楚的话,那就是花了太多时间试图自己解决这个问题。
答案 0 :(得分:2)
您需要使用group_concat
进行查询,以便根据导演对所有电影名称进行分组,然后使用PHP显示它们
select
d.ID,
d.name,
group_concat(m.title) as title
from director d
join movies m on m.directorID = d.ID
group by d.ID
答案 1 :(得分:1)
试试这个sql
SELECT B.name AS director_name, A.title as movie_name
FROM movies A, director B
WHERE A.directorID=B.ID
答案 2 :(得分:0)
尝试使用JOIN
这样的
SELECT * FROM movies LEFT JOIN director ON movies.directorID = director.id
这将为您提供两个表中所有列的列表,然后您可以通过执行此操作显示您喜欢的列tablename.column_name