2012-10-19 26 views
0

以下代碼是根據最新線程更新一個頁面,該頁面包含許多論壇。基本上,我想在每個論壇中找到最新的主題(基於表格主題的時間),然後在另一個table('forums')中更新以稍後顯示。這裏有更多的代碼,但我已經把基本元素。我的問題是你如何搜索一個表格,但只能從某些ID搜索?我也不希望它成爲一個資源密集型企業,尤其是在可能有成千上萬行的情況下。查找陣列中某些ID的最新數據,然後更新它

$forums=1,2,3; // the forum ids 

$DB->query("SELECT * FROM topics WHERE forum_id IN($forums) order by last_post DESC"); // get all columns from 'topics' in 1,2,3 BUT I only need the latest ('last_post' of each) 

$News = $DB->fetch_row(); 

$DB->query("UPDATE forums SET last_title='" . $News['title'] ."' WHERE id IN($forums)"); 

對不起,如果這聽起來令人困惑。謝謝你的幫助。

回答

0

試試這個,考慮到'x'forum_id列,

$DB->query("SELECT * FROM topics WHERE forum_id IN($forums) AND forum_id ='x' order by last_post DESC "); 
+0

謝謝您的答覆,但我不明白,這部分「AND forum_id =‘X’」會是什麼X是,如果數組$論壇? – MySQLHelp

+0

什麼/哪裏是'x'?它在'$ forums'中嗎? –

+0

從這裏:$ forums = 1,2,3; // forum forum id - 我們正在搜索forum_id爲1,2,3的主題只獲取每個forum_id – MySQLHelp

相關問題