文档章节

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

adbug
 adbug
发布于 2015/06/17 09:31
字数 591
阅读 9
收藏 0

在做对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分页就这么简单的

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


来源:http://www.ljzxzxl.com/201106/website/ecshop-411.html


本文转载自:http://blog.csdn.net/fgdfgasd/article/details/15028165

共有 人打赏支持
adbug
粉丝 6
博文 176
码字总数 198249
作品 0
成都
如何禁用ECSHOP缓存,如何关闭ECSHOP缓存

熟悉ECSHOP的老站长们都知道,ECSHOP是有缓存机制的。 ECSHOP的缓存机制从一定程度上可以减少ECSHOP反复读取数据库的几率,从而一定程度上降低服务器负担,提高访问速度。 但是启用缓存机制,...

Surjur
2015/04/30
0
0
在ecshop商品列表页加一个购买数量输入框

我们在使用ecshop的时候,特别是批发站。 很多时候不能在ecshop商品列表页输入购买数量,是非常不方便的。 现在如果一次性购买好几个商品,十分的不方便,只有在ecshop的商品详细页面才能输入...

路边拾草人
2011/12/14
0
2
ECSHOP后台密码忘记了怎么办

在ECSHOP论坛里或ECSHOP技术交流群里, 经常看到一些ECSHOP用户(特别是一些新手朋友)由于各种原因将后台管理密码丢失了或者被别人恶意篡改了, 碰到这种情况该怎么办呢? 因为ECSHOP的管理...

Android1989
2014/08/11
0
0
ecshop 工作流程加载配置介绍

ecshop 工作流程加载配置介绍 分类: ecshop2014-09-14 09:36 729人阅读 评论(2) 收藏 举报 模板引擎工作流 这里简单介绍下echsop工作流程: 首先,你会发现一般的echsop的php文件都会引入i...

thinkyoung
2015/05/21
0
0
ecshop 完美解决动态ip登录超时和购物车清空问题

ECSHOP模板/ecshop开发中心(www.68ecshop.com) / 2014-05-06 前一段时间,ECSHOP开发中心的一个客户说自己的ecshop网店出了状况,就是有时候登录的时候会自动退出。而且购物车也没规律的会清...

thinkyoung
2015/06/24
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

OSChina 周三乱弹 —— 我居然在 osc 里追剧

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @舆情风控小组 :分享王菲的单曲《笑忘书》 《笑忘书》- 王菲 手机党少年们想听歌,请使劲儿戳(这里) @艾尔库鲁斯:如果给大家一个选择的机...

小小编辑
40分钟前
57
6
rabbitMq的客户端使用笔记

1、channel声明队列的queueDeclare方法的参数解析 durable: 是否持久化, 队列的声明默认是存放到内存中的,如果rabbitmq重启会丢失,如果想重启之后还存在就要使队列持久化,保存到Erlang自...

DemonsI
49分钟前
0
0
“全新” 编程语言 Julia开箱体验

本文共 851字,阅读大约需要 3分钟 ! 概 述 Julia 是一个 “全新”的高性能动态编程语言,前两天迎来了其 1.0 正式版的重大更新。Julia集 Python、C、R、Ruby 之所长,感觉就像一种脚本语言...

CodeSheep
今天
12
0
软件自动化测试初学者忠告

题外话 测试入门 很多受过高等教育的大学生经常问要不要去报测试培训班来入门测试。 答案是否。 高等教育的合格毕业生要具备自学能力,如果你不具备自学能力,要好好地反省一下,为什么自己受...

python测试开发人工智能安全
今天
5
0
java并发备忘

不安全的“先检查后执行”,代码形式如下: if(条件满足){ //这里容易出现线程安全问题//doSomething}else{//doOther} 读取-修改-写入 原子操作:使用CAS技术,即首先从V中读取...

Funcy1122
今天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部