文档章节

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

adbug
 adbug
发布于 2015/06/17 09:31
字数 591
阅读 10
收藏 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 3.0,ecshop 4.0,ecshop2.7.3全系列版本都存在着高危网站漏洞,导致网站被黑,被篡改,被挂马,许多商城系统深受其漏洞的攻击,给商城的运营者...

网站安全
09/21
0
0
ecshop 全系列版本网站漏洞 远程代码执行sql注入漏洞

ecshop漏洞于2018年9月12日被某安全组织披露爆出,该漏洞受影响范围较广,ecshop2.73版本以及目前最新的3.0、3.6、4.0版本都受此次ecshop漏洞的影响,主要漏洞是利用远程代码执行sql注入语句...

网站安全
09/13
0
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

没有更多内容

加载失败,请刷新页面

加载更多

快速get到学习Linux操作系统的点

Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。Linux能够运行主要的UNIX工具软件、网络协议和应用程序。它支持32位...

linux-tao
5分钟前
0
0
Docker Compose 之进阶篇

前文《Docker Compose 简介》和《Dcoker Compose 原理》两篇文章中分别介绍了 docker compose 的基本概念以及实现原理。本文我们将继续探索 docker compose,并通过 demo 介绍一些主要的用法...

Java干货分享
11分钟前
0
0
《netty入门与实战》笔记-04:pipeline 与 channelHandler

这一小节,我们将会学习 Netty 里面一大核心组件: Pipeline 与 ChannelHandler Netty 中的 pipeline 和 channelHandler 通过责任链设计模式来组织代码逻辑,并且能够支持逻辑的动态添加和删...

Funcy1122
17分钟前
0
0
知识积累

####知识积累 Q:What is the bit depth of a JPEG? A:JPEG is standardized as an 8-bit image file. This means that each color channel of a pixel has 8-bits of data allocated to repr......

-___-
28分钟前
0
0
shell学习之创建函数

函数是一个脚本代码块,你可以为其命名并在代码中任何位置重用。 在bash shell脚本中创建函数基本使用如下两种方式,第二种格式更接近于其他编程语言中定义函数的方式。 function name {com...

woshixin
40分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部