<?php
/**
* @desc created by sublime text3
* @author jxl <[57953279@qq.com>]>
* @since 2017/05/06 23:06
*/
$host="localhost";
$user='root';
$pass='';
$link=mysql_connect($host,$user,$pass) or die('数据库连接失败');
mysql_select_db('demo');
mysql_query('set names "utf8"');
$pageSize=10;//每页5条
$bothNum=4;//当前页左右各显示4个页码
$cur_page=isset($_GET['cur_page'])?$_GET['cur_page']:1;//当前页数
$sql="select * from test_db";
$res=mysql_query($sql);
$total=mysql_num_rows($res);//总记录数
$pageNum=ceil($total/$pageSize);//总页数
$start=($cur_page-1)*$pageSize;
$sql="select * from test_db limit $start,$pageSize";
$res=mysql_query($sql);
while ($row=mysql_fetch_array($res)) {
echo $row['id'].'---'.$row['name'].'---'.$row['age'];
echo '<hr/>';
}
//上一页
$pagestr="";
if($cur_page==1){
$pagestr.='<span>上一页</span>';
}else{
$lastPage=$cur_page-1;
$pagestr.="<a href='mysqldemo.php?cur_page=$lastPage'>上一页</a>"." ";
}
// 想象分页如下,目前第 10 页,它两边最多只有 4 (bothnum) 个数字
// 1 ... 6 7 8 9 *10* 11 12 13 14 15 ... 100
// echo $pagestr;
// 首页
if($cur_page-$bothNum>1){
$pagestr.="<a href='mysqldemo.php?cur_page=1'>首页</a>";
$pagestr.="<span>...</span>";
}
//当前页的左边
for($i=$bothNum;$i>=1;$i--){
if(($cur_page - $i) < 1 ) { // 当前页左边花最多 bothnum 个数字
continue;
}
$lastPage=$cur_page-$i;
$pagestr.="<a href='mysqldemo.php?cur_page=$lastPage'>$lastPage</a>"." ";
}
//当前页
$pagestr.="<span>$cur_page</span>"." ";
//当前页右边
for($i=1;$i<=$bothNum;$i++){
if(($cur_page + $i) > $pageNum) { // 当前页右边最多 bothnum 个数字
break;
}
$lastPage=$cur_page+$i;
$pagestr.="<a href='mysqldemo.php?cur_page=$lastPage'>$lastPage</a>"." ";
}
//尾页
if(($cur_page+$bothNum)<$pageNum){
$pagestr.="<span>...</span>"." ";
$pagestr .= '<a href="?cur_page='.$pageNum.'">尾页</a>'." ";
}
//下一页
if($cur_page == $pageNum) {
$pagestr .= '<span>下一页</span>';
} else {
$nextPage=$cur_page+1;
$pagestr .= "<a href='mysqldemo.php?cur_page={$nextPage}'>下一页</a>";
}
echo $pagestr;
echo "<hr/>";
echo '当前页数为:'.$cur_page.',总页数为:'.$pageNum;