以后发代码都会放到bookmark里,feed里不会看到了。
这次写了一个比较梦幻的分页类,简单,但是很好用。。
主要特点:
- 支持模板
- 支持sql和数组两种数据源
不适合:
没有对大量数据的分页做优化,所以不适用于变态分页.
简单举个例子,下面是一个对数组分页的例子
$pager = new Pager; $pager->count = count($data['contacts']); $pager->count_per_page = 20; $pager->param = 'p'; $pager->template = <<<EOF {start}-{end},共{count}<br /> {first}<a href="{first_url}">首页</a>|{/first} {pre}<a href="{pre_url}">上一页</a>|{/pre} {next}<a href="{next_url}">下一页</a>|{/next} {last}<a href="{last_url}">末页</a>{/last} EOF; //对数组进行分页 foreach($pager->slice($data['contacts']) as $contact): //...
功能比较全的测试代码
$pager = new Pager; $pager->count = 200; $pager->count_per_page = 20; $pager->param = 'p'; $pager->template = <<<EOF {first}<a href="{first_url}">首页</a>{/first} {pre}<a href="{pre_url}">上一页</a>{/pre} <ul> {pages4}<li><a {current}style="color:red;"{/current} href="{page_url}">{page_num}</a></li>{/pages4} </ul> {next}<a href="{next_url}">下一页</a>{/next} {last}<a href="{last_url}">末页</a>{/last} {start}-{end}/{count} <select onchange="window.location.href=this.value;"> {pages}<option {current}selected=selected{/current} value="{page_url}">{page_num}</a>{/pages} </select> EOF; //这里使用sql获取数据 echo $p->get_sql('select * from xxx where xxx {limit}');
代码:http://code-of-emptyhua.googlecode.com/svn/trunk/phplib/pager.class.php
———–
post by gmail~

