一个好用的分页函数

2018-09-07 12:10

阅读:769

  复制代码 代码如下:
本人原创的代码,高手看来,也许流程笨拙点,但是很实用.看者要顶啊

/*---------------------------------------------------------------//
*函数说明:分页函数page($sql,$pagesize=30)
*$sql查询语句(除limit外,可带排序或者条件限制)
*如select*fromstuwheretimebetween1and30;
*$pagesize每页的显示条数
*##可输出数组$arr的值,说明如下:
*$arr[first]首页及地址
*$arr[page_pre]上一页及地址
*$arr[all]当第几页和总页数
*$arr[page_next]下一页及地址
*$arr[last]末页及地址
*$arr[pagelist]页码列表及地址,显示当前页前后4页列表
*$arr[query]语句$arr[query]=mysql_query($sql)
*$arr[nums]记录总数
*2006.09.06byKevinQQ:84529890
//----------------------------------------------------------------*/
functionpage($sql,$pagesize=30){

global$arr,$PHP_SELF;

$query=mysql_query($sql);
$num=mysql_num_rows($query);
$pagecount=ceil($num/$pagesize);
$page=$_GET[page];
if(!$page)$page=1;
if($page>$pagecount)$page=$pagecount;

$offset=($page-1)*$pagesize;
$sql.=limit$offset,$pagesize;
$arr[query]=mysql_query($sql);

if($page>1){
$page_pre=$page-1;
$page_url=$PHP_SELF.?page=.$page_pre;
$arr[page_pre]=<ahref=\.$page_url.\>上一页</a>\n;
}
if($page<$pagecount){
$page_next=$page+1;
$page_url=$PHP_SELF.?page=.$page_next;
$arr[page_next]=<ahref=\.$page_url.\>下一页</a>\n;
}

$arr[all]=<fontcolor=\#FF0000\>.$page.</font>/.$pagecount.页\n;
$arr[first]=<ahref=\.$PHP_SELF.?page=1\>首页</a>\n;
$arr[last]=<ahref=\.$PHP_SELF.?page=.$pagecount.\>末页</a>\n;

$plfront=;
if($page<=5&&$page>=1){
for($i=1;$i<=9;$i++){
$plfront.=<ahref=\.$PHP_SELF.?page=$i\>.$i.</a>;
}
}elseif($page>5&&$page<$pagecount-5){
for($i=$page-4;$i<$page+5;$i++){
$plfront.=<ahref=\.$PHP_SELF.?page=$i\>.$i.</a>;
}
}else{
for($i=$pagecount-8;$i<=$pagecount;$i++){
$plfront.=<ahref=\.$PHP_SELF.?page=$i\>.$i.</a>;
}
}

$arr[pagelist]=$plfront.;
$arr[nums]=$num;
}


评论


亲,登录后才可以留言!