PHP 分页函数

1 篇文章 0 订阅

前端调用

<tr><td colspan="5" align="right">{$pagebar1}</td></tr>


index.php


		 $page = $_REQUEST['page'] == '' ? 1 : $_REQUEST['page'];
		 $url = "my_task.php";
		 $per = 12;
		 $start = ( $page - 1 ) * $per;
		 unset( $_REQUEST['page'] ); 

		 /**
		  * 我的任务列表
		  * $pagebar  分页函数  functionn.php
		  */
		$sql="SELECT  count(*)  FROM  task  where user_id='".$_SESSION['user_id']."'    order by status,create_time DESC ";	
		$total=$db->getone($sql);

		$pagebar1 = pagebar( $url, array("type"=>"mytask"), 10, 1, $total );
		$mytasklimit="LIMIT  0,10 ";

分页函数
pagebar_lib.php

//分页
function pagebar( $url, $param, $limit, $page, $total, $type = 0 ) {
  if( $total < 0 ) {
	  return false;
  }
  if( $url == "" ) {
	return false;
  }
  $link = $url . "?";
  if (is_array($param)) {
	foreach ($param as $str_key => $str_value) {
	    $link = $link . "$str_key=" . urlencode($str_value) . "&";
	}
  }
  $int_pages = ceil($total / $limit);
  if ($page < 1) {
	$page = 1;
  }
  if ($page > $int_pages) {
	$page = $int_pages;
  }
  
  $start_url = $link . "page=1";
  $end_url = $link . "page=$int_pages";
  $pre_url = $link . "page=" . ( $page - 1 );
  $next_url = $link . "page=" . ( $page + 1 );
  if( $page < 6 ){
    /**
     * $start_page  从第几页开始
     * $end_page    显示到第几页
     */
	$start_page = 1;
    // $end_page = 7;
	$end_page = 2;
  }else{

    /**
     * $start_page  从第几页开始
     * $end_page    显示到第几页
     */
    // $start_page = $page -5;
	$start_page = $page -1;
	$end_page = $page +1;
  }
  if( $end_page > $int_pages ){
	$end_page = $int_pages;
  }
  $urls = null;
  /**  THE URL */
  for( $i = $start_page, $j = 0; $i <= $end_page; $i++, $j++ ){
	 $temp_url = $link . "page=$i";
	 if( $i == $page ){
 	    $urls[$j] = "<strong>[" . $i . "]</strong>&nbsp;";
	 }else{
	    $urls[$j] = "<a href=\"$temp_url\">[" . $i . "]</a>&nbsp;";
	}
  }
  $str_html="";
  if( is_array( $urls ) ){
	$str_html = "共&nbsp;".$total."&nbsp;条信息&nbsp;&nbsp;共&nbsp;".$int_pages."&nbsp;页&nbsp;&nbsp;". $str_html . "<a href=\"$start_url\" text=\回第1页\>首页</a>&nbsp;&nbsp;";
	if( $page > 1 ){
	    $str_html = $str_html . "<a href=\"$pre_url\">上页</a>&nbsp;&nbsp;";
	}else{
	    $str_html = $str_html . "上页&nbsp;&nbsp;";
	}
    if( $type == 0 ){
	    foreach ($urls as $sub_url) {
	      $str_html = $str_html . $sub_url;
	    }
    }
	$str_html = $str_html . "&nbsp;";
	if( $page >= $int_pages ){
	    $str_html = $str_html . "下页&nbsp;&nbsp;";
	}else{
	    $str_html = $str_html . "<a href=\"$next_url\">下页</a>&nbsp;&nbsp";
	}
    if( $type == 0 ){
	    $str_html = $str_html . "<a href=\"$end_url\" text=\"到第$int_pages\">尾页</a> &nbsp;&nbsp;跳到 <input type=text size=4 onBlur=window.location.href='$pre_url&page='+this.value  /> 页 ";  
	    return $str_html;
	}
	if( $type == 1 ){
        $str_html = $str_html . "<a href=\"$end_url\" text=\"到第$int_pages\">尾页</a>";
	    return $str_html;
	}
 }
	return false;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值