View Code
<html>
<head>
<title>分页</title>
</head>
<body>
<?php
//连接数据库
$conn=mysql_connect("localhost","root","123456");
mysql_select_db("test",$conn);
mysql_query("set names gbk",$conn); //防止出现乱码
$count=mysql_query("select count(*) from myinfo",$conn);//查询总的条数,但是返回的仍然是一个resource变量
$count=mysql_fetch_array($count); //返回一个数组
$count=$count[0]; //这里就是总的条数了
//设置每页要显示的条数
$num=3;
//总的页数
$page=0;
if($count % $num ) //不整除时,返回真
$page=intval( $count/3 )+1; //所以要加1
else
$page=intval($count/3) ;
//这里是表示开始查询的第几条
$first=0;
if($_GET["page"]) //用get方法得到第page页
$first=($_GET["page"]-1)*3; //这是表示第page页的第一条
else
$first=0; //若返回空,则为0.其实也是可以不加的,只是为了好看而已。因为前面已经有了默认值
?>
<!-- 开始显示内容了,因为每条记录的属性分别为:id,name,age -->
<table border="1">
<tr>
<td>id</td>
<td>name</td>
<td>age</td>
</tr>
<?php
$rs=mysql_query("select * from myinfo limit $first, $num",$conn); //开始查询。limit表示一页中共要查询$num条,那么当前页的第一条就是$first了,返回resource
$myrow = mysql_fetch_array($rs); //返回一个关联数组
while($myrow) //循环输出
{
echo "<tr>";
echo "<td>$myrow[id] </td><td>$myrow[name] </td><td>$myrow[age] </td>";
echo "</tr>";
$myrow = mysql_fetch_array($rs); //执行完当前条,需要再执行一次本语句,否则只能得到第一条记录,而且导致死循环,这个就不用多说了。
}
?>
</table>
<?php
echo "<br>";
echo "共有".$page."页 当前页是:".$_GET["page"]. "<br>"; //显示总的页数。前面已经算好了
$last=$_GET["page"]-1; //上一页
if($last==0)
$last=1;
$next=$_GET["page"]+1; //下一页
if($next>$page)
$next=$page;
echo "<a href='page.php?page=".$last."'>[上一页] </a>"; //上一页按钮
$del=true; //用来判断显示的方式的
for($i=0;$i<$page;$i++) //显示[1][2][3]...等页的看点
{
$j=$i +1;
if($j==3) //我们只显示前面的3条,这是模拟的
{
$del=false;
echo "<a href='page.php?page=".$j."'>[".$j."] </a>...";
}
if($del!=false)
echo "<a href='page.php?page=".$j."'>[".$j."] </a>";
}
echo "<a href='page.php?page=".$next."'> [下一页]</a>"; //这里是下一页
?>
</body>
</html>
<head>
<title>分页</title>
</head>
<body>
<?php
//连接数据库
$conn=mysql_connect("localhost","root","123456");
mysql_select_db("test",$conn);
mysql_query("set names gbk",$conn); //防止出现乱码
$count=mysql_query("select count(*) from myinfo",$conn);//查询总的条数,但是返回的仍然是一个resource变量
$count=mysql_fetch_array($count); //返回一个数组
$count=$count[0]; //这里就是总的条数了
//设置每页要显示的条数
$num=3;
//总的页数
$page=0;
if($count % $num ) //不整除时,返回真
$page=intval( $count/3 )+1; //所以要加1
else
$page=intval($count/3) ;
//这里是表示开始查询的第几条
$first=0;
if($_GET["page"]) //用get方法得到第page页
$first=($_GET["page"]-1)*3; //这是表示第page页的第一条
else
$first=0; //若返回空,则为0.其实也是可以不加的,只是为了好看而已。因为前面已经有了默认值
?>
<!-- 开始显示内容了,因为每条记录的属性分别为:id,name,age -->
<table border="1">
<tr>
<td>id</td>
<td>name</td>
<td>age</td>
</tr>
<?php
$rs=mysql_query("select * from myinfo limit $first, $num",$conn); //开始查询。limit表示一页中共要查询$num条,那么当前页的第一条就是$first了,返回resource
$myrow = mysql_fetch_array($rs); //返回一个关联数组
while($myrow) //循环输出
{
echo "<tr>";
echo "<td>$myrow[id] </td><td>$myrow[name] </td><td>$myrow[age] </td>";
echo "</tr>";
$myrow = mysql_fetch_array($rs); //执行完当前条,需要再执行一次本语句,否则只能得到第一条记录,而且导致死循环,这个就不用多说了。
}
?>
</table>
<?php
echo "<br>";
echo "共有".$page."页 当前页是:".$_GET["page"]. "<br>"; //显示总的页数。前面已经算好了
$last=$_GET["page"]-1; //上一页
if($last==0)
$last=1;
$next=$_GET["page"]+1; //下一页
if($next>$page)
$next=$page;
echo "<a href='page.php?page=".$last."'>[上一页] </a>"; //上一页按钮
$del=true; //用来判断显示的方式的
for($i=0;$i<$page;$i++) //显示[1][2][3]...等页的看点
{
$j=$i +1;
if($j==3) //我们只显示前面的3条,这是模拟的
{
$del=false;
echo "<a href='page.php?page=".$j."'>[".$j."] </a>...";
}
if($del!=false)
echo "<a href='page.php?page=".$j."'>[".$j."] </a>";
}
echo "<a href='page.php?page=".$next."'> [下一页]</a>"; //这里是下一页
?>
</body>
</html>
这是一个很简单的,只是用来分享下的,有些功能还没写完,就写了部分,其它的大家看看了