一个简单好用的Php自用分页函数,有需要使用分页函数又不想手写的朋友可进入参考,代码如下:
/* * 前台分页 * * $page_array = array( * 'totle' =>10, //总数 * 'dispage' =>10, //每页显示条数 * 'url' =>'/article/list/',//url地址 * 'now_page', =>1, //当前所在页数 * ); * * @return pagenav */ function front_page( $page_array ){ //分页判断 $lastpage = ceil ( $page_array [ 'total' ] / $page_array [ 'dispage' ]); //最后一页 $page_array [ 'now_page' ] = min( $lastpage , $page_array [ 'now_page' ] ); //比较当前页数和最后一页 $prepage = $page_array [ 'now_page' ] - 1; //上一页 $nextpage = ( $page_array [ 'now_page' ] == $lastpage ? 0 : $page_array [ 'now_page' ] + 1 ); //下一页 $firstcount = ( $page_array [ 'now_page' ]-1) * $page_array [ 'dispage' ]; if ( $lastpage <= 1) return false; //最后一页小于1,则直接返回 //首页 if ( $prepage ){ $page_array []= "<a href='{$page_array['url']}" . "1/'>首页</a>" ; } else { $page_array []= "<span class=\" nolink\ ">首页</span>" ; } //上一页 if ( $prepage ) { $page_array []= "<a href='{$page_array['url']}$prepage/'> 上一页 </a> " ; } else { $page_array []= '' ; } //显示的数字分页条数 $pagenum =5; $offset =2; //偏移两 $from = $page_array [ 'now_page' ] - $offset ; //起始 $to = $page_array [ 'now_page' ] + $pagenum - $offset -1; //终止 if ( $pagenum > $lastpage ){ $from =1; $to = $lastpage ; } else { if ( $from <1){ $to = $page_array [ 'now_page' ] + 1 - $from ; $from =1; if (( $to - $from )< $pagenum && ( $to - $from )< $lastpage ){ $to = $pagenum ; } } elseif ( $to > $lastpage ){ $from = $page_array [ 'now_page' ] - $lastpage + $to ; $to = $lastpage ; if (( $to - $from )< $pagenum && ( $to - $from )< $lastpage ){ $from = $lastpage - $pagenum +1; } } } for ( $i = $from ; $i <= $to ; $i ++){ if ( $i == $page_array [ 'now_page' ]){ $pagenav .= "<a href=\" #\ " title=\" \ ">$i</a> " ; } else { $pagenav .= "<a href=\" { $page_array [ 'url' ]} $i /\ " title=\" \ ">$i</a> " ; } } //数字分页 $page_array []= $pagenav ; //下一页 if ( $nextpage ){ $page_array []= "<a href='{$page_array['url']}" . "$nextpage/'> 下一页 </a> " ; } else { $page_array []= '' ; } //尾页 if ( $nextpage ){ $page_array []= "<a href='{$page_array['url']}" . "$lastpage/'>尾页</a>" ; } else { $page_array []= '<span class="nolink">尾页</span>' ; } //记录数 $page_array []= "<span>每页 " . $page_array [ 'dispage' ]. " 条</span> <span>共 " . $page_array [ 'total' ]. " 条纪录</span>" ; //分页数 $page_array []= "共 " . $lastpage . " 页" ; //跳页 $page_array [] = '<span>跳转到:</span><input size="4" id="pagenu" type="text" onkeydown="javascript:if(event.keyCode==13){var page=(this.value<0)?1:this.value;location=\' '.$page_array[' url '].' \'+page;}" /> //开源软件:phpfensi.com <a href= "javascript:void(0)" onclick= "javascript:var spage=(window.document.getElementById(\'pagenu\').value==\'\')?1:window.document.getElementById(\'pagenu\').value;location=\''.$page_array['url'].'\'+spage;" >Go</a>'; //第一页总数 $firstcount = $firstcount < 1 ? 0 : $firstcount ; return array ( 'pagenav' => $page_array , 'limit' => $firstcount , 'offset' => $page_array [ 'dispage' ], 'allpage' => $lastpage ); }
声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://www.haodehen.cn/did27910