好的,我愿意为我的网站创建一个简单的论坛。那么,让我们开始吧。
我猜线程表就像这样:
t_id, thread_name, who_created, when_created
回复表格会像这样:
r_id, t_id, who_wrote, what_wrote, when_wrote
当有人想查看带有回复的帖子时,他点击按钮将他移动到index.php?t_id=1
或者像那样。 t_id
表示线程的表值t_id
。我应该写什么连接查询来显示主题及其回复?
mysql_query('SELECT *
FROM threads AS t
INNER JOIN replies AS r
ON t.t_id = r.t_id
WHERE t.t_id = '.mysql_escape_strings($_GET['t_id']));
是不是?那么我应该如何提取所有数据呢?使用mysql_fetch_array?那怎么样?有什么建议?也许更好地写2个查询而不是JOIN?感谢。
答案 0 :(得分:3)
在这种情况下不要使用连接,因为它没有任何优势,相反会降低查询速度。而是做两个单独的查询:
mysql_query('SELECT *
FROM threads AS t
WHERE t.t_id = '.mysql_escape_strings($_GET['t_id']));
和
mysql_query('SELECT *
FROM replies AS r
WHERE r.t_id = '.mysql_escape_strings($_GET['t_id']));
这会快得多。