php分页取数据 php通用分页类

php分页功能怎么实现

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

创新互联网站建设公司,提供成都网站建设、网站设计,网页设计,建网站,PHP网站建设等专业做网站服务;可快速的进行网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,是专业的做网站团队,希望更多企业前来合作!

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

php分页怎么弄?

/*

总数据条数    $total;

每页数据条数  $perpage;

当前页    $page;

总页数 $cnt = ceil($total/$perpage); ceil函数+1取整.

在$page页,说明前面已经过了($page-1)*$perpage条数据

从($page-1)*$perpage+1开始取数据

分页导航思路:

循环在当前页的前后加“a href=""[]/a”,使其效果为[2][3][4]5[6][7][8]

以下是分页导航类的代码

*/

class PageTool {

protected $total = 0;

protected $perpage = 6;

protected $page = 1;

public function __construct($total,$page=false,$perpage=false) {

$this-total = $total;

if($perpage) {

$this-perpage = $perpage;

}

if($page) {

$this-page = $page;

}

}

// 创建分页导航

public function show() {

$cnt = ceil($this-total/$this-perpage);  // 得到总页数

$uri = $_SERVER['REQUEST_URI'];

$parse = parse_url($uri);

$param = array();

if(isset($parse['query'])) {

parse_str($parse['query'],$param);

}

// 不管$param数组里,有没有page单元,都unset一下,确保没有page单元,

// 即保存除page之外的所有单元

unset($param['page']);

$url = $parse['path'] . '?';

if(!empty($param)) {

$param = http_build_query($param);

$url = $url . $param . '';

}

// 计算页码导航

$nav = array();

$nav[0] = 'span class="page_now"' . $this-page . '/span';

for($left = $this-page-1,$right=$this-page+1;($left=1||$right=$cnt)count($nav) = 5;) {

if($left = 1) {

array_unshift($nav,'a href="' . $url . 'page=' . $left . '"[' . $left . ']/a');

$left -= 1;

}

if($right = $cnt) {

array_push($nav,'a href="' . $url . 'page=' . $right . '"[' . $right . ']/a');

$right += 1;

}

}

return implode('',$nav);

}

}

//测试分页导航

$page = $_GET['page']?$_GET['page']:1;//  ?page=5

$p = new PageTool(100,$page,6); //数据总数100条,每页6条,当前第5页

echo $p-show();//效果为[2][3][4]5[6][7][8]

怎么做php数据库调取数据分页显示,要php的

?php

include("connection.php");

$perNumber=10; //每页显示的记录数

$page=$_GET['page']; //获得当前的页面值

$count=mysql_query("select count(*) from user"); //获得记录总数

$rs=mysql_fetch_array($count);

$totalNumber=$rs[0];

$totalPage=ceil($totalNumber/$perNumber); //计算出总页数

if (!isset($page)) {

$page=1;

} //如果没有值,则赋值1

$startCount=($page-1)*$perNumber; //分页开始,根据此方法计算出开始的记录

$result=mysql_query("select * from user limit $startCount,$perNumber"); //根据前面的计算出开始的记录和记录数

while ($row=mysql_fetch_array($result)) {

echo "user_id:".$row[0]."br";

echo "username:".$row[1]."br"; //显示数据库的内容

}

if ($page != 1) { //页数不等于1

?

a href="fenye.php?page=?php echo $page - 1;?"上一页/a !--显示上一页--

?php

}

for ($i=1;$i=$totalPage;$i++) { //循环显示出页面

?

a href="fenye.php?page=?php echo $i;?"?php echo $i ;?/a

?php

}

if ($page$totalPage) { //如果page小于总页数,显示下一页链接

?

a href="fenye.php?page=?php echo $page + 1;?"下一页/a

?php

}

?

================================

这个是很简单的..而且也写了注释..不知道合不合你的意..

php thinkphp3.2.3遍历输出的数据怎样分页输出??

一般都是在取数据时就分页取了.

$count = 100; //总条数

$perpage = 5;//每页显示数

$page=new Pager($count,$perpage); //分页类

$data = M('user')-limit($page-firstRow.','.$page-listRows)-select();

$this-assign('data',$data);//查询 的数据

$this-assign('page',$page-show()); //输出分页信息


标题名称:php分页取数据 php通用分页类
分享链接:http://hbruida.cn/article/doedjhh.html