【问题标题】:Serial Number in PHP-MySQL PaginationPHP-MySQL分页中的序列号
【发布时间】:2014-06-26 22:37:15
【问题描述】:

我正在使用简单的 PHP-MySQL 分页,并且我使用序列号作为记录。为此,我使用以下代码,

$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>";
}

现在的问题是序列号在我的分页中的每一页中从 1 开始,而我需要它从第 2 页的 11-20,从第 3 页的 21-30 等等。

【问题讨论】:

  • 您需要将(当前页面)*$limit 值添加到$s_num

标签: php mysql pagination


【解决方案1】:

添加一个$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>";
}

这是正确的,但是变量page.should be start from 0....否则序列号从11开始......

【讨论】:

    【解决方案2】:

    添加一个$page 变量,从$_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>";
    }
    

    【讨论】:

      猜你喜欢
      • 2017-12-17
      • 1970-01-01
      • 2020-02-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多