【发布时间】:2009-08-07 17:40:35
【问题描述】:
$threads = mysql_query("SELECT DISTINCT t.id, t.title
FROM threads t LEFT JOIN comments c ON t.id = c.parentID
ORDER BY c.date DESC");
while ($thread = mysql_fetch_assoc($threads)) {
echo "<li><a href=\"?threadID=$thread[id]\">".htmlspecialchars($thread['title'])."</a></li>\n";
}
任何人都可以在此代码中看到问题吗?它不会像我想要的那样工作。我希望它是在最上面评论的线程,以及下一个最新的等。
echo $thread[parentID] 不回显
cmets:
id、评论、parentID、日期
【问题讨论】:
-
线程肯定有项目?我通常也会做完整的 LEFT OUTER JOIN
-
是的,我有一堆线程和 cmets
-
@OP:你能澄清一下“它不能按我想要的那样工作”部分吗?
-
再看埃里克,我的英语不太好,但我希望你能理解
-
如果您的某些线程没有 cmets(顺便说一句,LEFT JOIN 和 LEFT OUTER JOIN 在此 SELECT 语句中具有完全相同的效果),您 cmets.date 将为 NULL 并且由于 DESC 排序顺序这些线程将永远是 LAST。