所以,基本上,我有一個名爲'主題'的MySQL表格,另一個名爲'回覆',例如。在表格「主題」中,有一個名爲「relforum」的字段,它將此主題與論壇部分相關聯。在表格'回覆'中,有一個名爲'reltopic'的字段,它將回復與主題聯繫起來。兩個表都有一個id字段,即auto_increment主鍵。這個查詢可以在沒有循環的情況下完成嗎?
現在,我想選擇某個論壇的所有回覆。由於人的答覆「沒有「relforum」字段,我的辦法是:
- 選擇帶有「relforum」等於某些論壇和循環通過他們的所有主題
- 而在循環中,從所有回覆正在處理的主題
- 將所有fetch_array結果合併到一個多維數組中,然後遍歷它們。
這是這樣的:
$query = mysql_query("SELECT * FROM `topics` WHERE `relforum` = '1'");
while($array = mysql_fetch_array($query)) {
$temp = mysql_query("SELECT * FROM `replies` WHERE `reltopic` = {$array['id']}");
$results[] = mysql_fetch_array($temp);
}
有沒有一種方法來合併所有爲較少的疑問?因爲這個過程基本上會在該論壇的每個主題上運行一個查詢加一個查詢。這將是太多了:P
將relforum字段添加到答覆表是一個解決方案(我仍在設計數據庫部分,所以它不是一個問題添加它),但我想看看是否有一個解。我真的不善於SQL的東西,我只知道基本的SELECT/INSERT/UPDATE,而且我通常使用PHPMyAdmin生成最後兩個,所以...我想我需要一些幫助。
感謝您的閱讀!
我這樣做是同一類型的錯誤,當我許多年前編寫了一個論壇,論壇社區長大了很多,我踢出了多個託管提供商使用太多資源:) – 2009-12-14 21:06:36