文档章节

Smarty分页类Smartypaginate

龙飞在天
 龙飞在天
发布于 2016/08/12 00:54
字数 359
阅读 4
收藏 0

不罗嗦了,直接上范例

function.paginate_first.php、function.paginate_last.php、function.paginate_prev.php、function.paginate_next.php、function.paginate_middle.php五个文件放在Smarty的plugins目录下,SmartyPaginate.class.php我放在了Smarty的根目录下,你们可以参考。

PHP程序

require_once 'includes/Smarty/SmartyPaginate.class.php';  //包含分页类的类文件

SmartyPaginate::connect(); 连接到分类页
SmartyPaginate::setLimit(10); //一页取多少条记录
 
$smarty->assign('results',get_od_results()); //将要分页的数据进行分割并指定Smarty变量
SmartyPaginate::assign($smarty); // 赋值给Smarty

$smarty->display('scorderform.html'); //smarty模板

函数:

        $_query = sprintf("SELECT SQL_CALC_FOUND_ROWS * FROM table ORDER BY id DESC LIMIT %d,%d",            SmartyPaginate::getCurrentIndex(), SmartyPaginate::getLimit());        $_result = $GLOBALS['db']->query($_query);        while ($_row = $GLOBALS['db']->fetch_array($_result, MYSQL_ASSOC)) {            // collect each record into $_data            $_data[] = $_row;        }                // now we get the total number of records from the table        $_query1 = "SELECT FOUND_ROWS() as total";        $_result1 = $GLOBALS['db']->query($_query1);        $_row = $GLOBALS['db']->fetch_array($_result1, MYSQL_ASSOC);        SmartyPaginate::setTotal($_row['total']);                return $_data;

说明:$GLOBALS['db']是我自己事先用的数据库类,大家可以举一反三,使用自己的数据库类

模板相关写法

 {paginate_first text="第一页"}{paginate_prev text="上一页"} 
{paginate_middle format="page" page_limit="5" link_prefix="" link_suffix="" prefix="" suffix="" class="number current"} 
{paginate_next text="下一页"} {paginate_last text="末页"}

{section name=res loop=$results}

这里循环你要分页的数据

{/section}

在function.paginate_middle.php中,大约130行左右,将代码修改成以下
if($_item != $_curr_item) {     $_this_url = $_url;    $_this_url .= (strpos($_url, '?') === false) ? '?' : '&';    $_this_url .= SmartyPaginate::getUrlVar($_id) . '=' . $_item;    $_ret .= $_link_prefix . '<a class="number" href="' . str_replace('&', '&amp;', $_this_url) . '"' . $_attrs . '>' . $_text . '</a>' . $_link_suffix;} else {    $_ret .= $_link_prefix . '<a class="number current" href="' . str_replace('&', '&amp;', $_this_url) . '"' . $_attrs . '>' . $_text . '</a>' . $_link_suffix;}这样就是在当前页和非当前页采用不同的样式




本文转载自:http://www.ryuhi.com/blog/2012/03/15/archives/369

龙飞在天
粉丝 2
博文 78
码字总数 0
作品 0
杭州
高级程序员
私信 提问
CZD_Yaf_Extension

CZDYafExtension 建立在Yaf 的基础上,集成了Smarty引擎,加入了封装出来的各种功能类,位于APPLICATION_DIR/library下 【更新记录】 2013.12.05 加入命令行请求入口,请求示例: php -f ind...

ChenZhiDong
2013/12/05
1K
0
php smarty过滤处理

为防止xss,因此利用smarty的配置$smarty->default_modifiers = array('$' =>'escape:"html"');对输出转义,但问题来了,所有原来的换行以及用到的分页插件都转义不能用了 ,有什么办法解决?......

newnoder
2015/05/05
445
3
推荐一个比较完整的yaf扩展框架CZD_Yaf_Extension

开源的项目,地址 https://github.com/sillydong/CZD_Yaf_Extension 建立在Yaf 的基础上,集成了Smarty引擎,加入了封装出来的各种功能类,位于APPLICATION_DIR/library下 【功能说明】 缓存...

ChenZhiDong
2014/03/14
5.5K
8
EaglePHP v2.1 更新日志

CHANGES: 框架: 1、将Smarty模版的后缀名.tpl修改为.html,方便相关软件识别模版结构。 2、实现PHP中文转拼音公共类,增加最新最全的拼音库。 3、函数库增加socket操作函数,同curl作用一致...

maoxiaojian
2012/10/08
1K
2
PHP 框架--EasyMVC

程序名称:EasyMVC 最新版本:v.1.1.20120924 开发者:宋红光 专为企业和个人打造的安全稳定,并发性高 ,速度快,简单易用,海量数据处理能力的免费开源PHP框架,有以下特点: v1.1 新增队列...

easymvc
2012/08/31
1K
0

没有更多内容

加载失败,请刷新页面

加载更多

硬件配置

https://akkadia.org/drepper/futex.pdf sudo lshw -businfo[sudo] lambda 的密码: Bus info Device Class Description======================================......

MtrS
今天
2
0
springmvc的return “success”源码解读

qqqq

architect刘源源
今天
5
0
Java程序员五面阿里分享 逆袭成功 太不容易了!

前言 拿到阿里实习offer,经历了5次面试,其中4轮技术面,1轮HR面试。在这里分享一下自己的面试经验和学习心得。希望能够帮助更多的小伙伴。 我本科毕业于中南大学信管专业,真正开始学习Jav...

别打我会飞
昨天
4
0
Android Camera模块解析之视频录制

《Android Camera架构》 《Android Camera进程间通信类总结》 《Android Camera模块解析之拍照》 《Android Camera模块解析之视频录制》 《Android Camera原理之CameraDeviceCallbacks回调模...

天王盖地虎626
昨天
2
0
手把手教你使用issue作为博客评论系统

自从上周在阮一峰的 每周分享第 60 期 看到了可以将 GitHub 的 issue 当作评论系统,插入第三方网页的 JS 库——utterances。我就对此“魂牵梦绕”。个人博客使用的是VuePress。 TLDR (不多废...

jump--jump
昨天
9
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部