Php mysql两个查询
我有一个评论系统; 我有一个问题Php mysql两个查询,php,mysql,Php,Mysql,我有一个评论系统; 我有一个问题 SELECT ShoutID,Message, User, Date, ShoutImageThumb, ShoutImageBig,UserID, Email, FullName, UserImageThumb, Admin FROM shoutbox LEFT JOIN users ON users.Email = shoutbox.User ORDER BY ShoutID DESC LIMIT 10 当它在页面上循环时
SELECT ShoutID,Message, User, Date, ShoutImageThumb, ShoutImageBig,UserID,
Email, FullName, UserImageThumb, Admin FROM shoutbox LEFT JOIN users ON
users.Email = shoutbox.User ORDER BY ShoutID DESC LIMIT 10
当它在页面上循环时
我在循环中运行另一个查询以获取该消息的注释
SELECT users.UserID, users.Email, users.FullName, shoutboxcomments.ShoutID,
shoutboxcomments.`Comment`, shoutboxcomments.`Date`,
shoutboxcomments.`User`, shoutboxcomments.CommentID FROM shoutboxcomments
LEFT JOIN users ON users.Email = shoutboxcomments.User
WHERE ShoutID = '.$ShoutID.' ORDER BY CommentID ASC
有没有可能加入这些查询,或者我如何简化这些查询,因为im在php中使用mvc架构构建,而不是在每篇文章中运行一个查询,使用
中的一次获取多篇文章的评论
SELECT users.UserID, users.Email, ...
FROM shoutboxcomments
LEFT JOIN users
ON users.Email = shoutboxcomments.User
WHERE ShoutID IN (1, 4, 15, 22)
ORDER BY CommentID
嗨,马克,谢谢你的迅速回复,不过我不完全明白。创建两个查询,在while循环中只调用第二个查询的结果(注释)?有两个查询,A和B。首先将查询A发送到数据库。这将返回一个ID列表(和一些其他数据)。使用ID列表构建查询B,然后发送该查询并获得结果。因此,您总共只发送两个查询。在任何时候都不需要在循环中执行查询。您只需要循环即可获取结果。非常感谢,有意义!