我有这个代码:
$page = $_GET['page'];
$res_per_page = $_GET['res_per_page'];
$start_point = (($page * $res_per_page) - $res_per_page);
$query.= " LIMIT $start_point, $res_per_page";
$qry_result = mysql_query($query) or die(mysql_error());
$total_pages = ceil($nr_ads / $res_per_page);
变量 '$nr_ads' 是广告的总 nr...
代码运行良好,但我想知道如何确定显示的是哪些广告,例如:
Showing ads 10 - 20
谢谢...
最佳答案
print 'Showing ads ' . $start_point . ' - ' . min($nr_ads, $start_point + res_per_page);
基本上你已经有了起点(这是给你的 SQL 中的 LIMIT
子句。“终点”是通过将 $res_pre_page
添加到这个起点。然而,在最后一页上,您可能只有 2 条记录 - 因此您应该使用 min()
函数来打印例如“显示广告 60 - 62”。
跟进:另一个回答提到了SQL注入(inject)的风险。使用:
$page = intval($_GET['page']);
$res_per_page = max(1, intval($_GET['res_per_page'])); // To avoid division by zero :)
关于php - 在 Mysql 分页 (LIMIT) 方面需要很少的帮助,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1818177/