大致的思想就是:
1.设置每页要显示的最大记录数。
2.计算出页面总数
3.当前页面跟总页面数比较改变连接的状态
4.用limit控制从数据库中读取记录
代码:
$conn = mysql_connect('localhost','root','');
mysql_select_db('db_BookStore',$conn);
mysql_query("set names utf8");
if(isset($_GET['page'])) { //判断是否存在page参数,获得页面值,否则取1
$page = intval($_GET['page']);
} else {
$page = 1;
}
$page_size = 2; //最大记录条数
$sql = "SELECT count(*) as amount FROM tb_BookInfo";
$result = mysql_query($sql);
$row = mysql_fetch_array($result);//计算总页数
$amount = $row['amount'];
if($amount) {
if($amount < $page_size) {
$page_count = 1;
}
if($amount % $page_size) {
$page_count = (int)($amount / $page_size) + 1;
} else {
$page_count = $amount / $page_size;
}
} else {
$page_count = 0;
}//翻页链接
$page_string = "";
if($page == 1) {
$page_string .= "首页 | 上一页";
} else {
$page_string .= "<a href='?page=1'>首页</a> | <a href='?page=".($page-1)."'>上一页</a>";
}
$page_string .= "| $page |";
if($page == $page_count) {
$page_string .= "下一页 | 尾页";
} else {
$page_string .= "<a href='?page=".($page+1)."'>下一页</a> | <a href='?page=$page_count'>尾页</a>";
}
$sql = "select * from table order by id desc limit ". ($page-1)*$page_size .", $page_size";
$result = mysql_query($sql);
while ( $row = mysql_fetch_row($result) ) {
$rowset[] = $row;
}
代码二:
<?php
$conn=mysql_connect('127.0.0.1','root','');
mysql_query('use test',$conn);
mysql_query('set names utf8',$conn);
$perNumber=3; //每页显示的记录数
$page=$_GET['page']; //获得当前的页面值
$count=mysql_query("select count(*) from kangbiao"); //获得记录总数
$rs=mysql_fetch_array($count);
$totalNumber=$rs[0];
$totalPage=ceil($totalNumber/$perNumber); //计算出总页数
if (!isset($page)) {
$page=1;
} //如果没有值,则赋值1
$startCount=($page-1)*$perNumber; //分页开始,根据此方法计算出开始的记录
$result=mysql_query("select * from kangbiao limit $startCount,$perNumber"); //根据前面的计算出开始的记录和记录数
echo "<table border='1'>";
echo "<tr>";
echo "<th>id</th>";
echo "<th>name</th>";
echo "<th>age</th>";
echo "<th>grade</td>";
echo "</tr>";
while ($row=mysql_fetch_array($result)) {
echo "<tr>";
echo "<td>$row[0]</td>";
echo "<td>$row[1]</td>";
echo "<td>$row[2]</td>";
echo "<td>$row[3]</td>"; //显示数据库的内容
echo "</tr>";
}
echo "</table>";
if ($page != 1) { //页数不等于1
?>
<a href="02.php?page=<?php echo $page - 1;?>">上一页</a> <!--显示上一页-->
<?php
}
for ($i=1;$i<=$totalPage;$i++) { //循环显示出页面
?>
<a href="02.php?page=<?php echo $i;?>"><?php echo $i ;?></a>
<?php
}
if ($page<$totalPage) { //如果page小于总页数,显示下一页链接
?>
<a href="02.php?page=<?php echo $page + 1;?>">下一页</a>
<?php
}
?>