PHP分页结果在每页上都有所增加

时间:2015-10-31 07:58:24

标签: php sql pagination

我是php的新手。

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

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

第3页包含30个从21-50开始的网站。 在第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++;
    ?>

1 个答案:

答案 0 :(得分:1)

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