【问题标题】:PHP Pagination result increased on each pagePHP分页结果在每个页面上增加
【发布时间】:2015-10-31 16:36:37
【问题描述】:

我是 php 的新手。

我正在创建一个包含 idnameurl 的 Lister 站点,我正在尝试创建每个页面上限制为 10 个站点的分页。

第 1 页有 10 个站点,但当我转到第 2 页时,列表从 11-30 开始增加到 20 个站点。

第 3 页包含从 21-50 开始的 30 个站点。 在第 4 页,40 个站点从 31-70 开始。

我希望我的网站每页仅列出 10 个网站。

以下是我的代码

    <?php
    $r1 = mysql_fetch_array(mysql_query('select count(id) as nb from mydb where status="on"'));

    if(isset($_GET['page']))
    {
    $page = intval($_GET["page"]);       
    }
    else
    {
    $page = 1;      
    }

    $nbpages = ceil($r1['nb']/$limit);
    if($page<1 or $page>$nbpages)
    {
    $page = 1;
    }
    $pages_site = ' ';
    if($page>1)
    {
    $pages_site .= '<a href="?page='.($page-1).'">Prev</a> ';
    }
    for($i=1;$i<=$nbpages;$i++)
    {
    if($i==$page)
    {
    $pages_site .= '<strong>'.$i.'</strong> ';
    }
    else
    {
    $pages_site .= '<a href="?page='.$i.'">'.$i.'</a> ';
    }
    }
    if($page<$nbpages)
    {
    $pages_site .= '<a href="?page='.($page+1).'">Next</a>';
    }
    ?>
    <div><?php echo $pages_site; ?></div>
    <?php
    $first_message = ($page-1)*$limit;
    $last_message = $first_message  +$limit;
    $i = $first_message ;

    $r2 = mysql_query('select id, name from mydb where status="on" order by id desc limit '.$first_message .','.$last_message);
    while($d2 = mysql_fetch_array($r2))
    {
    $i++;
    ?>

【问题讨论】:

    标签: php sql pagination


    【解决方案1】:

    $last_message = $first_message +$limit; 更新为$last_message = $limit;

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-08-10
      • 2015-04-24
      • 2014-03-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-02-20
      相关资源
      最近更新 更多