您的位置:

php分页列表实现,php如何实现分页功能

本文目录一览:

怎样用PHP实现列表分页功能

数据多了都不好,但是相对来说视图要好点,因为SQL采用的聚合文件排放数据形式

建立视图的时候同时也将相关的表都聚合到一个位置了,相对要快些

还不如用存储过程实现分页呢,因为存储过程建立的同时,系统还经过编译了

php实现分页功能

具体代码如下:

/**

* 获取分页的HTML内容

* @param integer $page 当前页

* @param integer $pages 总页数

* @param string $url 跳转url地址 最后的页数以 'page=x' 追加在url后面

*

* @return string HTML内容;

*/

public static function getPageHtml($page, $pages, $url){

//最多显示多少个页码

$_pageNum = 5;

//当前页面小于1 则为1

$page = $page1?1:$page;

//当前页大于总页数 则为总页数

$page = $page $pages ? $pages : $page;

//页数小当前页 则为当前页

$pages = $pages $page ? $page : $pages;

//计算开始页

$_start = $page - floor($_pageNum/2);

$_start = $_start1 ? 1 : $_start;

//计算结束页

$_end = $page + floor($_pageNum/2);

$_end = $_end$pages? $pages : $_end;

//当前显示的页码个数不够最大页码数,在进行左右调整

$_curPageNum = $_end-$_start+1;

//左调整

if($_curPageNum$_pageNum $_start1){

$_start = $_start - ($_pageNum-$_curPageNum);

$_start = $_start1 ? 1 : $_start;

$_curPageNum = $_end-$_start+1;

}

//右边调整

if($_curPageNum$_pageNum $_end$pages){

$_end = $_end + ($_pageNum-$_curPageNum);

$_end = $_end$pages? $pages : $_end;

}

$_pageHtml = 'ul class="pagination"';

/*if($_start == 1){

$_pageHtml .= 'lia title="第一页"«/a/li';

}else{

$_pageHtml .= 'lia title="第一页" href="'.$url.'page=1"«/a/li';

}*/

if($page1){

$_pageHtml .= 'lia title="上一页" href="'.$url.'page='.($page-1).'"«/a/li';

}

for ($i = $_start; $i = $_end; $i++) {

if($i == $page){

$_pageHtml .= 'li class="active"a'.$i.'/a/li';

}else{

$_pageHtml .= 'lia href="'.$url.'page='.$i.'"'.$i.'/a/li';

}

}

/*if($_end == $pages){

$_pageHtml .= 'lia title="最后一页"»/a/li';

}else{

$_pageHtml .= 'lia title="最后一页" href="'.$url.'page='.$pages.'"»/a/li';

}*/

if($page$_end){

$_pageHtml .= 'lia title="下一页" href="'.$url.'page='.($page+1).'"»/a/li';

}

$_pageHtml .= '/ul';

echo $_pageHtml;

}

php分页功能怎么实现

php本身是没有分页概念的,分页是URL传参,然后通过mysql查询语句到数据库获取数据,然后实现的分页,url上的参数,通过PHP的$_GET都是可以获取到的。

现在市面上的PHP框架基本都有PHP分页类,参照文档直接调用就好了,如果想看实现过程,可以去下载一个TP框架,然后打开里面的分页类查看里面的源代码。