使用redbeanphp进行分页的最佳方法是什么?

时间:2013-06-05 16:32:25

标签: php pagination redbean

我最近开始使用它,并不喜欢我的方式。想要建议......

我使用的例子如下:

$ all = R :: findAll('needle',         'ORDER BY title LIMIT 2');

3 个答案:

答案 0 :(得分:12)

我认为建议的解决方案没问题,除非您应该使用参数绑定,否则这可能会导致SQL注入:

$page=1;
$limit=10;
$all=R::findAll('needle',
'ORDER BY title LIMIT ?,? ',array((($page-1)*$limit),$limit));

答案 1 :(得分:7)

首先,这对分页没有任何作用。您需要将页面传递给服务器以进行分页。除此之外,你做得对。

$page=1;
$limit=10;
$all=R::findAll('needle','ORDER BY title LIMIT '.(($page-1)*$limit).', '.$limit);

您的另一个选择是全部选择它们,然后只返回用户要查看的部分,但如果您有数千条记录,这是一个坏主意:

$needles=R::findAll('needle', 'ORDER BY title');
$page=1;
$limit=10;
$all=array_slice($needles,(($page-1)*$limit),$limit,true);

查找总页数:

$needles=R::count('needle');
$totalPages=ceil($needles/$limit);

答案 2 :(得分:0)

最好使用https://github.com/yidas/php-pagination之类的PHP软件包

因为它还将为您提供HTML小部件,以在底部创建分页链接;除了帮助框架的SQL。