我最近发现myselfe需要分页,因此我挖出了已经达到目的的旧mysql_query脚本。我试图重做它,所以它适合我当前的MySQL PDO类,但有一件事是不对的。
问题是,要找出查询将产生多少页面,我需要首先进行整个查询而不是LIMIT'ation,而不是我必须再次执行相同的查询才能限制它,感觉就像浪费资源和时间,这些查询真的很长,需要大约20个不同的过滤器来做,所以我相信我一定做错了。
有没有办法检查使用PDO在将LIMIT应用到其中的同时总共有多少行?
现在这就是我必须做的事情:
exec即此查询:
SELECT * FROM inventory WHERE
season = ?,
category = ?,
code = ?,
storage = ?,
price > ?,
price < ?,
purchase_date > ?,
purchase_date < ?,
index_date > ?,
index_date < ?,
product_class = ?
并且我可以访问受感染的行,所以我可以再次执行它并附加LIMIT:
SELECT * FROM inventory WHERE
season = ?,
category = ?,
code = ?,
storage = ?,
price > ?,
price < ?,
purchase_date > ?,
purchase_date < ?,
index_date > ?,
index_date < ?,
product_class = ?
LIMIT {$BEGIN}, {$END}
提前感谢您的帮助:)
答案 0 :(得分:0)
为什么不将所有查询的结果存储到数组中,并且首先只打印10,然后[11-20]。 (10是显示的任意数量的结果)
像
这样的东西 for($i = ($page - 1) * 10; $i <= ($page * 10); i++)
{
echo $result[i]['season'];
// other things
}