gpt4 book ai didi

php - 如何在多行上使用相同ID连接MYSQL中的2个表

转载 作者:太空宇宙 更新时间:2023-11-03 12:24:55 24 4
gpt4 key购买 nike

我很难弄清楚这一点。希望有人能帮我解决这个问题。


例如。我有一个视频网站,在这个视频网站上,我可以提交带有该视频中播放者姓名的视频帖子。但我不想只添加 1 个名称,它可以更多。所以我有一个 video.php 页面,在这个页面中我可以提交视频的视频标题和参与其中的人的名字。

表:post

    -------------------------------------------
-- video_id ---- video_name ---- video_cast --
-------------------------------------------
1 Vid-1 1
2 Vid-2 2
3 Vid-2 2

表:cast

    -----------------------------------------
-- cast_id ---- cast_name ---- cast_video --
-----------------------------------------
1 John 1
2 Erik 2
3 Ela 2

现在,如果我在主页上看到这篇新帖子。如果我点击它。它会在 header 中发送 video_id 信息,以便我可以从 video.php 中获取它。

页面:video.php

<?php   

$id = $_GET['id'];
$result = mysql_query
("
SELECT *
FROM post
LEFT JOIN cast
ON post.video_cast = cast.cast_video
WHERE video_id='$id'
");

while($row = mysql_fetch_array($result)){
echo '
<h1>'.$row['video_name'].'</h1>
starring: '.$row['cast_name'].
';
}
?>

现在我如何才能显示与视频关联的 video_name 和所有 cast_name。我使用的 JOIN 代码只能显示表中的 1 个名称。有人知道我如何获取其他剩余名称吗?

最佳答案

您可以使用 group_concat() 在一行中列出名称

 SELECT video_name, group_concat(cast_name) cast
FROM post
LEFT JOIN cast ON post.video_cast = cast.cast_video
WHERE video_id='$id'
group by video_name

关于php - 如何在多行上使用相同ID连接MYSQL中的2个表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18103551/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com