PHP编号范围

时间:2014-12-10 08:52:32

标签: php numbers

我对如何做到这一点有完整的心理障碍..

我有'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,我有兴趣用上面的数字来做这件事。

由于

5 个答案:

答案 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>";
}