简体   繁体   English

PHP-MySQL分页中的序列号

[英]Serial Number in PHP-MySQL Pagination

I am using simple PHP-MySQL pagination and I use serial number for my records. 我正在使用简单的PHP-MySQL分页,并且使用序列号进行记录。 for this purpose I use the following code, 为此,我使用以下代码,

$serial = 1;
$sql= mysql_query("SELECT * FROM TABLE LIMIT $limit");
while($row = mysql_fetch_array($sql)) {
$s_num = $serial++;
$name = $row['name'];
echo $s_num . $name."<br>";
}

Now the problem is that the serial number start from 1 in every page in my pagination while i need it from 11-20 in 2nd page, from 21-30 in 3rd page and so on. 现在的问题是,在我的分页中,序列号从每页的1开始,而我在第二页的序列号从11-20开始,在第三页的序列号从21-30开始,依此类推。

add a $page var get it from $_GET . 添加一个$page var从$_GET

$serial = ($page * $limit) + 1;
$sql = mysql_query("SELECT * FROM TABLE LIMIT ".($page * $limit).", $limit");
while($row = mysql_fetch_array($sql)) {
    $s_num = $serial++;
    $name = $row['name'];
    echo $s_num . $name."<br>";
}

This is correct but the variable page.should be start from 0.... Other wise the serial number start from 11.... 这是正确的,但是变量page。应该从0开始。...否则,序列号应从11开始。

add a $page var, get it from $_GET . 添加一个$page var,从$_GET

$page = $_GET['page'];
if (!$page) $page = 0;
else $page--; //first page become 0 instead of 1
$serial = ($page * $limit) + 1;
$sql = mysql_query("SELECT * FROM TABLE LIMIT ".($page * $limit).", $limit");
while($row = mysql_fetch_array($sql)) {
    $s_num = $serial++;
    $name = $row['name'];
    echo $s_num . $name."<br>";
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM