找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 1662|回复: 0
打印 上一主题 下一主题

实用的简单PHP分页集合包括使用方法

[复制链接]

2647

主题

2647

帖子

7881

积分

论坛元老

Rank: 8Rank: 8

积分
7881
跳转到指定楼层
楼主
发表于 2018-2-14 08:11:35 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

            方法一:
[U]复制代码[/U] 代码如下:
dispNum = $dispNum;
            $this->totalPages = ceil($totalNum / $dispNum);
            $this->queryStr = $queryStr;
            $temp = (isset($_GET["curPage"]) ? $_GET["curPage"] : 1);
            $this->setCurPage($temp);
            $this->showCurPage();
            $this->showFoot();
        }        
        /*显示当前页的数据内容*/
        private function showCurPage(){
            $this->limitStr = ' LIMIT '.(($this->curPage - 1)* $this->dispNum).','.$this->dispNum;
            //echo $this->queryStr.$this->limitStr;
            $result = mysql_query($this->queryStr.$this->limitStr);
            if (!$result)
            {            
                if ($this->totalPages > 0)
                {
                    echo '查询出错'.'
';
                }
                else
                {
                    echo '无数据'.'
';
                }
                return;
            }
            $cols = mysql_num_fields($result);
            echo '';
            echo '';
            for($i=0; $i$value)
                {
                    echo '';
                    echo $value;
                    echo '';
                }
                echo '';
            }
            echo '';
        }
        private function setCurPage($curPage){
                if($curPage  $this->totalPages)
                {
                    $curPage = $this->totalPages;
                }
                    $this->curPage = $curPage;
        }
        /*
        显示分页页脚的信息
        如首页,上一页,下一页,尾页等信息
        */
        private function showFoot(){
            echo '首页';
            echo '[url=?curPage='.($this->curPage - 1).']上一页[/url]';
            echo '[url=?curPage='.($this->curPage + 1).']下一页[/url]';
            echo '[url=?curPage='.$this->totalPages.']尾页[/url]';
        }
  }
?>
方法二:
[U]复制代码[/U] 代码如下:
totalNum=$totalNum;
$this->pagePerGroup=$pagePerGroup;
$this->curPageUrl=$curPageUrl;
$this->curPage=$curPage;
$this->curPageGroup=$curPageGroup;
}
/**
* 设置当前页变量
*
* @param 数字 $curPage
*/
function setCurPage($curPage)
{
$this->curPage=$curPage;
}
/**
* 设置当前分页组变量
*
* @param mixed $curPageGroup
*/
function setCurPageGroup($curPageGroup)
{
$this->curPageGroup=$curPageGroup;
}
/**
* 设置当前用到分布类的URL
* $curPageUrl string
*/
function setCurPageUrl($curPageUrl)
{
$this->curPageUrl=$curPageUrl;
}
/**
* 获取所有
*
* @param 数字 $totalNum
* @param 数字 $curPage
* @return float
*/
function getTotalPage($totalNum,$curPage=0)
{
return $this->totalPage=ceil($totalNum/$this->pagePerNum);
}
/**
* 设置用户自定义风格
*
* @param mixed $customStyle
*/
function setCustomStyle($customStyle)
{
$this->customStyle=$customStyle;
}
/**
* 设置用户自定义风格返回字符串
*
*
* @param mixed $pagerString
*/
function setCustomStyleString($pagerString)
{
return $styleString="".$pagerString."";
}
/**
* 输出导航页信息 可以不用参数,但是在使用前一定要设置相应的变量
*
* @param mixed $curPageGroup
* @param mixed $curPage
* @param mixed $curPageUrl
*/
function showNavPager($curPageGroup=0,$curPage=0,$curPageUrl=0)
{
if($curPageGroup)
{
$this->curPageGroup=$curPageGroup;
}
if($curPage)
{
$this->curPage=$curPage;
}
if($curPageUrl)
{
$this->curPageUrl=$curPageUrl;
}
$rtnString="";
//判断变量是否以经初始化
if($this->curPageGroup && $this->curPageUrl && $this->totalNum && $this->curPage)
{
$this->totalPage=$this->getTotalPage($this->totalNum);
if($this->curPage==1)
$this->curPage=($this->curPageGroup-1)*$this->pagePerGroup+1;
if($this->curPageGroup!=1)
{
$prePageGroup=$this->curPageGroup-1;
$rtnString.="".$this->setCustomStyleString("pagePerGroup;$i++)
{
$curPageNum=($this->curPageGroup-1)*$this->pagePerGroup+$i;
if($curPageNumtotalPage){
if($curPageNum==$this->curPage)
{
$rtnString.=" ".$this->setCustomStyleString($curPageNum);
}else
{
$rtnString.=" [url=]curPageUrl?cpg={$this->curPageGroup}&cp=$curPageNum >";
$rtnString.=$this->setCustomStyleString($curPageNum)."
";
}
}
}
if($this->curPageGrouptotalPage/$this->pagePerGroup)-1)
{
$nextPageGroup=$this->curPageGroup+1;
$rtnString.=" [url=]curPageUrl?cpg=$nextPageGroup >".$this->setCustomStyleString(">>")."[/url]";
}
$this->pageQuerySql=" limit ".(($this->curPage-1)*$this->pagePerNum).",".$this->pagePerNum;
}
else
{
$rtnString="错误:变量未初始化!";
}
return $rtnString;
}
/**
* 得到完整的查询MYSQL的Sql语句
*
* @param mixed $sql
*/
function getQuerySqlStr($sql)
{
$allsql=$sql.$this->pageQuerySql;
return $allsql;
}
/**
* 设置每页有多少数据项
*
* @param INT $num
*/
function setPagePerNum($num)
{
$this->pagePerNum=$num;
}
}
?>
使用方法:
$curPage=$_GET['cp'];
$curPageGroup=$_GET['cpg']
if($curPage=="")
$curPage=1;
if($curPageGroup=="")
$curPageGroup=1;
//都是从1开始,之前要对传入的数据进行验证,防注入
//。。。
$pager=new MysqlPager();
$pager->initAllVar(...)
$pager->showNavPager();
//后面的SQL可以是任意的输出
$sql="select id form dbname ";
$querysql=$pager->getQuerySqlStr($sql)
//以后用$querysql 查询数据库就可以得到相应的结果集了
方法三:
PHP分页函数:
[U]复制代码[/U] 代码如下:
”.($totle?($firstcount+1):0).”
-”.min($firstcount+$displaypg,$totle).”
条记录,共 $totle 条记录”;  
//如果只有一页则跳出函数:  
if($lastpg首页 “;  
if($prepg) $pagenav.=”
前页 “; else $pagenav.=” 前页 “;  
if($nextpg) $pagenav.=”
后页 “; else $pagenav.=” 后页 “;  
$pagenav.=” 尾页 “;  
//下拉跳转列表,循环列出所有页码:  
$pagenav.=” 到第 \n”;  
for($i=1;$i$i\n”;  
else $pagenav.=”$i\n”;  
}  
$pagenav.=” 页,共 $lastpg 页”;  
}  
}  
?>
分页时调用pageft()函数。不过它并没有输出任何东西,但产生几个全局变量供使用:$firstcount、$displaypg、$pagenav。
下面举例说明PHP分页函数的用法:
[U]复制代码[/U] 代码如下:

            
            
您可能感兴趣的文章:
  • php,ajax实现分页
  • php+mysql分页代码详解
  • PHP通用分页类page.php[仿google分页]
  • php 分页原理详解
  • php jquery 实现新闻标签分类与无刷新分页
  • PHP分页函数代码(简单实用型)
  • php下巧用select语句实现mysql分页查询
  • 一个典型的PHP分页实例代码分享
  • php中长文章分页显示实现代码
  • 精美漂亮的php分页类代码
  • 使用PHP+JQuery+Ajax分页的实现
  • ThinkPHP分页类使用详解
  • thinkphp实现数组分页示例
  • php实现的漂亮分页方法
  • ThinkPHP使用心得分享-分页类Page的用法
  • ThinkPHP 3.2 数据分页代码分享
  • php+ajax实现无刷新分页的方法
  • Thinkphp搜索时首页分页和搜索页保持条件分页的方法
  • php+ajax实现无刷新数据分页的办法
  • 详解PHP+AJAX无刷新分页实现方法
  • php实现分页显示
  • php实现分页功能的3种方法
            
  • 分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    用户反馈
    客户端