/*分析思路:
1 用limit查询语句,可以控制当前页面显示的数据,是从哪一条开始到哪一条结束
2 用page作为网址后面的参数名,用$page记录当前页码,再计算出前一页$pre后一页$next赋值给page,进行上下页跳转
顺序
1 连接数据库
2 设置每页要显示的记录条数
3 查询总共有多少条数据
4 用3得到的值除以2得到的值,即 总共有多少页
5 获取$page的值
6 根据$page用limit语句查询对应记录
7 显示查询结果
8 $page±1,设置前一页、后一页、首页、尾页的链接
1 用limit查询语句,可以控制当前页面显示的数据,是从哪一条开始到哪一条结束
2 用page作为网址后面的参数名,用$page记录当前页码,再计算出前一页$pre后一页$next赋值给page,进行上下页跳转
顺序
1 连接数据库
2 设置每页要显示的记录条数
3 查询总共有多少条数据
4 用3得到的值除以2得到的值,即 总共有多少页
5 获取$page的值
6 根据$page用limit语句查询对应记录
7 显示查询结果
8 $page±1,设置前一页、后一页、首页、尾页的链接
*/
<?php
$db=mysql_connect("localhost","root","root");
$perpagenum = 2;//定义每页显示几条
$total = mysql_fetch_array(mysql_query("select count(*) from test.mytest"));//查询数据库
$totals = $total[0]; //用于统计总共有多少条数据
$totalspage = ceil($totals/$perpagenum);//上舍,取整,计算总共有多少页
if(!isset($_GET['page'])//如果没有设置page的值
||!intval($_GET['page'])//或者page取整的时候是0
||$_GET['page']>$totalspage)//或者page超出了总页数
//page可能的三种状态
{
$page=1;
}
else
{
$page=$_GET['page'];//如果不满足以上三种情况,则page的值为$_GET['page']
}
$startnum = ($page-1)*$perpagenum;//开始的条数是哪一条,用当前页数-1再*每页显示数量
$sql = "select * from test.mytest limit $startnum,$perpagenum";//查询出所需要的条数
$rs = mysql_query($sql); //查询数据
$contents = mysql_fetch_array($rs); //获取数据内容
if($total)//如果$total不为空,即查询有结果则执行以下语句 ——显示查询结果
{
?>
<table border="1px">
<?php
do
{
$num = $contents['num']; //获取数组的num项
$name = $contents['name']; //获取数组的name项
?>
<tr>
<td>
<?php echo $num;?>
</td>
<td>
<?php echo $name;?>
</td>
</tr>
<?php
}
while($contents = mysql_fetch_array($rs));//do....while 当页面还有内容的时候就do,即显示数据内容
$per = $page - 1;//上一页
$next = $page + 1;//下一页
echo "<center>共有".$totals."条记录,每页".$perpagenum."条,共".$totalspage."页 ";
if($page != 1) //如果不是以第一页,出现上一页的链接
{
echo "<a href='".$_SERVER['PHP_SELF']."'>首页</a>";
echo "<a href='".$_SERVER['PHP_SELF'].'?page='.$per."'> 上一页</a>"; //上一页的链接通过?之后的page参数-1确定
}
if($page != $totalspage) //如果不是最后一页,则出现下一页的链接
{
echo "<a href='".$_SERVER['PHP_SELF'].'?page='.$next."'> 下一页</a>";
echo "<a href='".$_SERVER['PHP_SELF'].'?page='.$totalspage."'> 尾页</a></center>"; //下一页的链接通过?之后的page参数+1确定
}
}
else//如果$total查询到的记录条数为0则显示
{
echo "您访问的页面暂时还没有内容哦~先看看别的吧";
}
?>