时时商务社区
标题:
实用的简单PHP分页集合包括使用方法
[打印本页]
作者:
网络通达
时间:
2018-2-14 08:11
方法一:
[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种方法
欢迎光临 时时商务社区 (http://bbs.4435.cn/)
Powered by Discuz! X3.2