php之mysql分页代码[函数]
0
2000
2017年9月27日
在写列表页读数据的时候往往要写上一个分页代码,小编研究了很久,也搜索了很多东西,最后总结出了以下分页代码,有需要的朋友可以研究研究
/**********分页开始**********/ $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 ,示例:
//链接数据库部分,省略 $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>";//输出分页导航
如下图:
这个主题简介啊