手动调用Ecshop分页函数对数据进行分页

在做对ecshop二次开发的过程中,难免避免不了手动对一些数据进行读取显示,其中不得不涉及到的就是分页功能,当然我们可以使用第三方的分页类对其进行分页功能的实现,这样的类很多也很杂,笔者在google上也尝试过,但终究也没有找到一个喜欢且合适分页类,当然这里也就不多说了。

本文主要是想帮助做ecshop二次开发需要用到分页功能开发人员快速的调用ecshop自带的分页方法,这样既可以保证分页风格一致而且免去了使用第三方分页类的麻烦,好废话不多说,详见以下的实现步骤:

1.在模板文件上加上分页功能的显示代码,即dwt中引入lib库文件

在.dwt模板文件放分页页码显示的地方加入如下代码即可:<!– #BeginLibraryItem “/library/pages.lbi” –><!– #EndLibraryItem –>

2.PHP程序读取调用分页函数

在.php(一般是user.php或category.php之类的文件)程序文件中对应的逻辑判断中加入相关的执行代码

//分页处理,分页尺寸

$size = 10;

$page = isset($_REQUEST[‘page’]) ? intval($_REQUEST[‘page’]) : 1;

$record_count = $db->getOne(“SELECT COUNT(*) FROM ” .$ecs->table(‘需读取的数据表名’). ” WHERE 相关判断条件”);

$pager = get_pager(‘当前php文件’, array(‘act’ => $action), $record_count, $page, $size);

$ad_user_list = 数据读取函数($user_id, $size, $pager[‘start’]);

//分页数据传给模板

$smarty->assign(‘pager’,  $pager);

3.修改原有的数据读取函数,增加$num,$start两个参数的传递和处理,这儿的修改就得根据你自己的数据读取函数自行修改了,函数一般都写在在lib_transaction.php文件中

可参考下面简单的例子实现

function 数据读取函数($user_id, $num = 10, $start = 0)

{

$sql = “SELECT * FROM ” .$GLOBALS[‘ecs’]->table(‘需读取的数据表名’). ” WHERE 相关判断条件”;

$arr = array();

$res = $GLOBALS[‘db’]->SelectLimit($sql, $num, $start);

while ($row = $GLOBALS[‘db’]->fetchRow($res))

{

$arr[] = array(‘user_id’         => $row[‘user_id’],

‘user_name’       => $row[‘user_name’],

‘valid_order’     => $row[‘valid_order’],

‘end_time’        => $row[‘end_time’]);

}

return $arr;

}

4.OK结束,现在可以测试一下读取的数据是否有了分页功能了,其实ecshop分页就这么简单的

最后实现的分页效果如下:20131110144712250

1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,请不要用于商业用途!
3. 如有链接无法下载、失效或广告,请联系站长处理!
4. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
5. 如果你也有好模型或者教程,可以到审核区发布,分享有金币奖励和额外收入!
6. 本站提供的模型、教程、施工图等等其他资源,都不包含技术服务 请大家谅解!
7. 如遇到加密压缩包,默认解压密码为yiweibang.com如遇到无法解压的请联系管理员!

易微帮 » 手动调用Ecshop分页函数对数据进行分页

提供最优质的资源集合

立即查看 了解详情