【发布时间】:2015-10-31 16:36:37
【问题描述】:
我是 php 的新手。
我正在创建一个包含 id、name 和 url 的 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