我最近开始使用它,并且不喜欢我这样做的方式。想要的建议...
我正在使用类似的示例:
$all = R::findAll('needle', ' ORDER BY title LIMIT 2 ');
我最近开始使用它,并且不喜欢我这样做的方式。想要的建议...
我正在使用类似的示例:
$all = R::findAll('needle', ' ORDER BY title LIMIT 2 ');
我认为建议的解决方案是可以的,除非您应该使用参数绑定,否则这可能会导致 SQL 注入:
$page=1;
$limit=10;
$all=R::findAll('needle',
'ORDER BY title LIMIT ?,? ',array((($page-1)*$limit),$limit));
首先,这对分页没有任何作用。您需要传递一个页面,并且可能相当于服务器进行分页。除此之外,你做得对。
$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);
最好使用像https://github.com/yidas/php-pagination这样的 PHP 包
因为它还会为您提供 HTML 小部件以在底部制作分页链接;除了构建 SQL 的助手。