這是非常棘手的。我有一個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個相關的標籤。
我想你明白這個主意。有人做過這個嗎?