使用php MYSQL从两个表打印值

时间:2014-05-26 05:43:57

标签: php mysql phpmyadmin

我已经在phpmyadmin的数据库上设置了两个表,并且我已经通过php文件向他们添加了内容。表格如下所示:

名称:电影。
列: ID,title,directorID(当从表格中添加到表格时,获取与导演相同的ID)。

姓名:导演。
列: ID(数字),名称。

我现在要做的是打印(通过使用SELECT和查询/数组)所有导演的列表,以及他们导演的电影"。像这样:

"导演:电影,电影。"

"下一任导演:电影。"

等等,直到所有的导演和他们的电影都被打印出来。我已经设法以不同的顺序显示列表,只使用一个表,但我似乎无法掌握如何从两个表中执行此操作。任何帮助将不胜感激。对不起,如果我不清楚的话,那就是花了太多时间试图自己解决这个问题。

3 个答案:

答案 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