这是非常棘手的。我有一个2列thread_tag_map的表格:thread_id和tag_name。获取所有相关标签?
thread_id tag_name
1 football
1 manchester
2 manchester
2 england
3 england
3 queen
4 queen
4 diana
正如你所看到的,一个线程可以有多个标签,并且这给了我们标签的链接效果。
如果键入标签足球我希望它显示所有相关标签足球。也就是说曼彻斯特,英格兰,女王和戴安娜。
所以这里是迄今为止什么香港专业教育学院编码:
// get all thread_id:s for tag_name
$query = "SELECT *
FROM thread_tag_map
WHERE tag_name = 'football'";
$result1 = mysqli_query($conn, $query) or die ("Couldn't execute query: " . mysqli_error($conn));
// get all tag_name:s for each thread_id
while($row = mysqli_fetch_assoc($result1))
{
$thread_id = $row['thread_id'];
$query = "SELECT *
FROM thread_tag_map
WHERE thread_id = $thread_id";
$result2 = mysqli_query($conn, $query) or die ("Couldn't execute query: " . mysqli_error($conn));
// add each tag to array
while($row = mysqli_fetch_assoc($result2))
{
$tag_array[] = $row['tag_name'];
}
}
但这只是给我的足球和曼联。我不知道如何继续使它成为一个很好的代码来循环(for循环?)它通过。也许有100个相关的标签。
我想你明白这个主意。有人做过这个吗?