用php怎么实现页面的分页功能呢?用原生的php写,不是基于图片开发的,求代码,谢谢 5
<?php
/*
* $total 总记录数
* $num 显示数量
* $limit 回调SQL语句里的limit 变量
* $name 显示字符 默认'个商品'
*
* */
function page($total,$num,&$limit,$name='个商品'){
$pagenum=ceil($total/$num); //显示总页数 公式:总数据数 除以 每页显示的条数,有余进一
$cpage=isset($_GET['page'])? $_GET['page']:1;// 当前页是哪一页,即默认在哪一页
$offset=($cpage-1)*$num; //limit 第一个参数值 从第几个开始。
$limit='LIMIT '.$offset.','.$num;
$path=$_SERVER['SCRIPT_NAME'].'?'; // 获取当前URL路径
//显示信息
$str='共 '.$total.' '.$name.' '.'每页显示 '.$num.' 条 '; //共多少数据
//显示上一页
if($cpage!=1){
$befor=$cpage-1; //当前页 -1
$str.='<a href="'.$path.'&page=1'.'">首页</a> <a href="'.$path.'&page='.$befor.'">上一页</a> ';
}
//点击下一页后显示页码数量
for($i=10;$i>=1;$i--){
$n=$cpage-$i;
if($n>0){
$str.='<a href="'.$path.'&page='.$n.'">'.$n.' '.'</a>';
}
}
//当前显示页
if($pagenum>1){
$str.='<b>'.$cpage.' '.'</b>';
}
//当前页显示页码数量
for($i=1;$i<10;$i++){
$n=$cpage+$i;
if($n<$pagenum){
$str.='<a href="'.$path.'&page='.$n.'">'.$n.' '.'</a>';
}
}
//显示下一页
if($cpage!=$pagenum){
$next=$cpage+1;
$str.='<a href="'.$path.'&page='.$next.'">下一页</a> <a href="'.$path.'&page='.$pagenum.'">末页</a>';
}
return $str;
}
模版中使用:
include "conn.inc.php";
include "fenye.inc.php";
//添加分页
$psql= "select count(*) as count from apply";
$arr=mysql_fetch_assoc(mysql_query($psql));
$total=$arr['count']; //统计总数据
$page=page($total,5,$limit,'条');
$sql = "select * from apply order by id desc $limit ";
$result = mysql_query($sql);
while($row = mysql_fetch_assoc($result)){
echo "<tr>";
echo "<td>".$row['id']."</td>";
echo "<td>".$row['name']."</td>";
echo "<td>".$row['place']."</td>";
echo "<td>".$row['xueli']."</td>";
echo "<td>".$row['tel']."</td>";
echo "<td>".$row['addtime']."</td>";
echo "<td><a href='javascript:void(0)' onclick='xq({$row['id']})'>详情</a> | <a href='apply_index.php?del={$row['id']}' >删除</a></td>";
echo "</tr>";
}
echo "<tr><td colspan='7'>".$page."</td></tr>";
?>