在很多评论中,通常都有一个按日期,有用性等排序的功能......基本上这些工作是通过查询新的MySQL行吗?
例如:
$sql = "SELECT * FROM TABLE ORDER BY TimeAdded"
$sql = "SELECT * FROM TABLE ORDER BY Helpfulness"
或者有更好的方法吗?
其次,制作评论页面。是否像在MySQL查询中使用循环和限制一样简单,每页显示10个结果?
修改 对于一个庞大的评论网站,让MySQL处理所有排序是理想的吗?
答案 0 :(得分:1)
您可以让数据库管理订购(推荐),也可以加载所有结果,然后使用PHP代码对它们进行排序。或者,您可以将它们全部放入HTML中并使用JavaScript对它们进行排序。
对于分页,您可以使用LIMIT
和OFFSET
子句(或LIMIT 10,10
)来浏览结果集(当然,如果结果集发生更改,您的分页也可能会更改)
SELECT * FROM posts ORDER BY helpfulness LIMIT 10,10
OR
SELECT * FROM posts ORDER BY helpfulness LIMIT 10 OFFSET 10
对于组合分页和排序,我绝对建议将其留待数据库处理。
答案 1 :(得分:1)
你在两方面都做对了,道格。
对于一个庞大的评论网站,你仍然希望MySQL对结果进行排序,你只想利用服务器端优化(一个好的my.cnf,服务器端缓存等)和代码缓存。这是一个完整的'蜡球',但基本的基本相同。