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

Mar*_*m54 3 php pagination redbean

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

我使用的例子如下:

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

Gab*_*oij 12

我认为建议的解决方案是可以的,除了你应该使用参数绑定,否则这可能会导致SQL注入:

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

  • 另外值得一提的是RedbeanPHP库的作者 (2认同)

Tim*_*ers 7

首先,这不会对分页做任何事情.您需要将页面传递给服务器以进行分页.除此之外,你做得对.

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

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

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

要查找总页数:

$needles=R::count('needle');
$totalPages=ceil($needles/$limit);
Run Code Online (Sandbox Code Playgroud)