php之mysql分页代码[函数]

2023-05-10 19:59:11 浏览数 (1)

在写列表页读数据的时候往往要写上一个分页代码,小编研究了很久,也搜索了很多东西,最后总结出了以下分页代码,有需要的朋友可以研究研究

代码语言:javascript复制
/**********分页开始**********/
$pageSize = 10; //每页显示数据条数
$result=mysql_query("select * from ".DB_PREFIX."kami_list");//查询总页数
$totalNum = mysql_num_rows($result); //数据总条数
$totalPageCount = ceil($totalNum/$pageSize); //总页数
$nowPage = isset($_GET['page']) ? intval($_GET['page']) : 1;//当前页码
$next = $nowPage 1;//下一页
$prev = $nowPage-1;//上一页
$url = "?plugin=lantk_kami&title=".$title."&page=";
$offset = ($nowPage-1)*$pageSize;
//开始分页导航条代码:
$pagefy = "<a href="".$url."1">首页</a>";//首页
$pagefy.= ($prev <= 0 ) ? "" : " <a href="".$url.$prev."">上一页</a>";//如果下一页大于总页数,则不显示
$pagefy.= ($next > $totalPageCount) ? "" : " <a href="".$url.$next."">下一页</a>";//如果下一页大于总页数,则不显示
$pagefy.= " <a href="".$url.$totalPageCount."">尾页</a>";//尾页
//下拉跳转列表,循环列出所有页码:
$pagefy.=" 到第 <select name='topage' size='1' onchange='window.location="$url" this.value'>n";
for($pagefor=1;$pagefor <= $totalPageCount;$pagefor  ){
    if($pagefor==$nowPage) $pagefy.="<option value='$pagefor' selected>$pagefor</option>n"; 
    else $pagefy.="<option value='$pagefor'>$pagefor</option>n";   
}
$pagefy.="</select> 页,共 $totalPageCount 页"; //导航代码结束

使用方法也很简单,首先定义 每页显示数据条数 变量,默认是10条。

然后定义你的 “查询总页数” 的SQL语句。

最后把你的循环sql语句的数量部分改为 limit offset,pageSize

并打印出分页导航 $pagefy ,示例:

代码语言:javascript复制
//链接数据库部分,省略
$sql1="SELECT * FROM ".DB_PREFIX."kami_list ORDER BY `gid` DESC limit $offset,$pageSize";  //SQL查询语句,注意最后两个参数
$list1 = $DB1->query($sql1);
while($row1 = $DB1->fetch_array($list1)){//循环开始
    echo '<li>'.$row1['title'].'</li>';
}//循环结束
echo "<li>".$pagefy."</li>";//输出分页导航

0 人点赞