我对如何做到这一点有完整的心理障碍..
我有'x'数据库条目。 我想以'y'为单位列出它们。
我开始尝试用PHP中的数字来做这个,然后我会考虑数据库方面。
$total = '200';
$perpage = '10';
所以我试图获得以下输出:
1,10
11,20
21,30
31,40
41,50
etc
如果$perpage
为20,则结果为:
1,20
21,40
41,60
etc
这就是我到目前为止所做的......而且它已经离开了!
$total = '200';
$page = '10';
$base = '1';
echo $total / $page."</br>";
$list = $total / $page;
for ($n=1;$n<=$list;$n++) {
echo "$n,".$n * $page."<br/>";
}
有人可以指出我这样做的正确方向。 忘了DB,我有兴趣用上面的数字来做这件事。
由于
答案 0 :(得分:2)
当查询数据库为LIMIT时,你通常对OFFSET和ROWS感兴趣,这意味着你需要0,10,20,30,40,50,而ROWS保持在10:LIMIT 0, 10
,{{如果您要在查询中使用它,那么您将从错误的一侧接近它。
要在问题中生成序列,请将偏移量和perpage与计数器分开。
LIMIT 10, 10
答案 1 :(得分:1)
试试这个 -
$total = '200';
$page = '10';
$base = '1';
$total / $page."</br>";
$list = $total / $page;
$start = 1;
for ($n=1;$n<=$list;$n++) {
echo "$start,".$n * $page."<br/>";
$start += $page;
}
答案 2 :(得分:1)
像
这样的东西<?php
$total = 200;
$increase_by = 10;
for ($left = 1, $right = $increase_by; $right <= $total; $left = $left + $increase_by, $right = $right + $increase_by) {
printf('%d, %d<br>', $left, $right);
}
但是,正如MatsLindh所说,如果你使用它来创建偏移/限制组合,你可能希望始终保持你的限制,因为&#34; LIMIT 0,10&#34;意味着&#34;从第0行和第34行开始获取10条记录;而&#34;限制10,20&#34;意味着&#34;从第10行和第34行开始获取20条记录。你可能想要&#34;限制10,10&#34;相反,说&#34;从第10行和第34行开始获取10条记录。
假设您想要在每页显示10条记录,而您在第2页上,则需要一个LIMIT子句:LIMIT 10,10
,这意味着我在上面提到的内容。偏移量为10,因为第一页偏移0,使查询获取前10条记录。
因此,您需要获取当前页面上的记录的是页码和要获取的记录数。
如果您想计算自己拥有的页数:ceil($number_of_records / $records_per_page);
答案 3 :(得分:0)
我已经去了;
$total = 200;
$perpage = 10;
$end = $total / $perpage;
for ($n=1;$n<=$end;$n++) {
$n1 = ($n * $perpage) - 1;
echo "$n,$n1<br/>";
}
答案 4 :(得分:0)
试试吧,
for ($n=1;$n<=$list;$n++) {
echo ($n - 1) * $page + 1,',',$n * $page."<br>";
}