您的位置:首页 > 编程语言 > PHP开发

PHP分页技术原理

2016-12-07 14:20 316 查看
分页函数

//分页函数
function _page($_sql,$_size){
global $_pagenum,$_pagesize,$_page,$_pageabsolute,$_num;
//NO1、获取第几页
if(isset($_GET['page'])){
$_page=$_GET['page'];
if(empty($_page)||$_page<0||!is_numeric($_page)){
$_page=1;
}else{
$_page=intval($_page);
}
}else{
$_page=1;
}
$_pagesize=$_size;
//NO2、每页显示多少条
$_num=_num_rows(_query($_sql));//获取总共有几条数据
//NO3、设置总共有几页
if($_num==0){//解决数据库清0的问题
$_pageabsolute=1;
}else{
$_pageabsolute=ceil($_num/$_pagesize);//总共页码
}
if($_page>$_pageabsolute){
$_page=$_pageabsolute;
}
//NO4、设置 SQL LIMIT 开始的第几条数据
$_pagenum=($_page-1)*$_pagesize;
}

分页布局
//分页布局
function _paging($_type){
global $_pageabsolute,$_page,$_num;
if($_type==1){
echo '<div id="page_num">';
echo '<ul>';
for($i=0;$i<$_pageabsolute;$i++){
if($_page==$i+1){
//选中状态时加样式
echo '<li><a href="'.DE_THIS.'.php?page='.($i+1).'" class="selected">'.($i+1).'</a></li>';
}else{
//未选中状态显示普通样式
echo '<li><a href="'.DE_THIS.'.php?page='.($i+1).'">'.($i+1).'</a></li>';
}
}
echo '</ul>';
echo '</div>';
}elseif($_type==2){
echo '<div id="page_text">';
echo '<ul>';
if ($_page!=1){
$_str='|';
}else{
$_str='';
}
echo '<li>'.$_page.'/'.$_pageabsolute.' |</li>';
echo '<li> ( <strong>'.$_num.'</strong> ) '.$_str.'</li>';
if($_page==1){
}else{
echo '<li><a href="'.DE_THIS.'.php?page='.($_page-1).'"> 上一页 </a></li>';
echo '|';
echo '<li><a href="'.DE_THIS.'.php"> 首页 </a></li>';
}
if($_page!=1&&$_page!=$_pageabsolute)echo '|';
if($_page==$_pageabsolute){
}else{
echo '|';
echo '<li><a href="'.DE_THIS.'.php?page='.($_page+1).'"> 下一页 </a></li>';
echo '|';
echo '<li><a href="'.DE_THIS.'.php?page='.($_pageabsolute).'"> 尾页 </a></li>';
}
echo '</ul>';
echo '</div>';
}
}

//分页样式#page_num{    height:20px;    clear:both;    padding:20px 0;    position:relative;/*设置相对点*/}#page_num ul{    position:absolute;/*绝对点*/    right:30px;    height:20px;
}#page_num ul li{ float:left; width:26px; height:20px;}#page_num ul li a{ /*本身是内敛元素,转换成区块才能操作它*/ display:block; /*也可以不要宽高,因为继承li元素*/ width:20px; height:20px; line-height:20px; border:1px solid #333; text-align:center; text-decoration:none;/*去掉下划线*/}#page_num ul li a:hover,#page_num ul li a.selected{ background:#666;/*深灰色*/ font-weight:bold;/*字体加粗*/ color:#fff;/*深灰色*/}#page_text{ font-size:13px; height:20px; clear:both; padding:20px 0;}#page_text ul{ text-align:center;}#page_text ul li{ display:inline;}#page_text ul li a{ /*color: #0066ff ;;*/ /*text-decoration:none;*//*去掉下划线*/}#page_text ul li a:hover{ /*background-color:#f3f3f3;*/ /*color:#ff0000;*/ font-weight:bold;/*字体加粗*/}

分页页面调用

global $_pagesize,$_pagenum,$_system;
_page("SELECT tg_id FROM tg_article",8);//参数1,获取总条数SQL语句,参数2,每页几条

显示文章列表
$_result = _query("SELECT * FROM tg_article ORDER BY tg_post_time DESC LIMIT $_pagenum,$_pagesize");
require 'article_li.php';
_free_result($_result);
_paging(2);//显示分页
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: