2012-10-19 27 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

相关问题