php中分页原与与分页类

所谓分页显示,也就是将数据库中的结果集人为的分成一段一段的来显示,这里需要两个初始的参数:
每页多少条记录($pagesize)?

当前是第几页($currentpageid)?
现在只要再给我一个结果集,我就可以显示某段特定的结果出来。
至于其他的参数,比如:上一页($previouspageid)、下一页($nextpageid)、总页数($numpages)等等,都可以根据前边这几个东西得到。
以mysql数据库为例,如果要从表内截取某段内容,sql语句可以用:select * from table limit offset, rows。看看下面一组sql语句,尝试一下发现其中的规率。
前10条记录:select * from table limit 0,10
第11至20条记录:select * from table limit 10,10
第21至30条记录:select * from table limit 20,10
……
这一组sql语句其实就是当$pagesize=10的时候取表内每一页数据的sql语句,我们可以总结出这样一个模板:
select * from table limit ($currentpageid – 1) * $pagesize, $pagesize
拿这个模板代入对应的值和上边那一组sql语句对照一下看看是不是那么回事。搞定了最重要的如何获取数据的问题以后,剩下的就仅仅是传递参数,构造合适的sql语句然后使用php从数据库内获取数据并显示了。以下我将用具体代码加以说明。
3、简单代码
请详细阅读以下代码,自己调试运行一次,最好把它修改一次,加上自己的功能,比如搜索等等。
[php]

代码如下

php分页器制作,自动生成分面页码,js调用函数

代码如下

php调用

代码如下

$pageno = $_get[‘pageno’];
if(empty($pageno)){
}
//分页数据
$pagedata = news::getnewspage($pageno,$pagesize);
//取得总行数
$count = news::getnewscount();
//创建分页器
$p = new pageview($count[‘0’][‘total’],$pagesize,$pageno,$pagedata);
     //生成页码
$pageviewstring = $p->echopageasp();

http://www.bkjia.com/phpjc/628968.htmlwww.bkjia.comtruehttp://www.bkjia.com/phpjc/628968.htmltecharticle所谓分页显示,也就是将数据库中的结果集人为的分成一段一段的来显示,这里需要两个初始的参数:每页多少条记录($pagesize)? 当前是…

Posted in 未分类

发表评论