ecmall分页
在Ecmall的二次开发中,分页是必不可少的。这个系统已经自带了分页功能,下面来看看如何使用这个分页。
下面是一个自定义的类,用于查看订单的详细情况。关键在于get_order_data()这个方法,分页的使用也在这个方法的内部了。应该有的注释都有了,应该会比较容易懂,我不就多说了。
<?php
define('NUM_PER_PAGE', 15); // 每页显示数量 class NowaMagicApp extends MallbaseApp
{
public function index()
{
/* 分页信息 */
$page = $this->_get_page(NUM_PER_PAGE);
$page['item_count'] = $stats['total_count'];
$this->_format_page($page);
$this->assign('page_info', $page); $this->display('gorder.index.html');
} /* 订单记录 */
function orderslog()
{
$goods_id = empty($_GET['id']) ? 0 : intval($_GET['id']);
if (!$goods_id)
{
$this->show_warning('Hacking Attempt');
return;
} $data = $this -> get_order_data($goods_id); if ($data === false)
{
return;
} $this->assign('order', $data); $this->display('gorder.index.html'); } function get_order_data($goods_id)
{
//clean_cache();
$cache_server =& cache_server();
//print_r($cache_server);
$key = 'order_' . $goods_id;
//$key = $this->_get_cache_id();
$r = $cache_server->get($key);
$cached = true; $db = &db(); $sql = "select count(*)
from shop_order a, shop_order_extm b, shop_order_goods c
where a.order_id = b.order_id and b.order_id = c.order_id
and c.goods_id = '".$goods_id."'
and a.status != '11'
and a.status != '0'
and a.status != '20'
order by a.add_time desc ";
//echo $sql;
$num = $db -> getone($sql); //求出总记录数
$page = $this->_get_page(NUM_PER_PAGE); //每页显示的条数,默认是10条
$page['item_count'] = $num; // 返回一个数组$page,$page['limit']=0,10
$this->_format_page($page); //格式化分页 $sql2 = "select a.order_id, a.buyer_name, a.add_time, a.status, b.phone_tel, b.phone_mob, b.consignee, c.price, c.quantity, c.goods_id
from shop_order a, shop_order_extm b, shop_order_goods c
where a.order_id = b.order_id and b.order_id = c.order_id
and c.goods_id = '".$goods_id."'
and a.status != '11'
and a.status != '0'
and a.status != '20'
order by a.add_time desc limit ".$page['limit']; $result = $db -> query($sql2); $this -> assign('page_info',$page); //向模板页传递页数
$this -> assign('que',$sql2); //向模板页传递查询结果 //$r = array();
while($myrow = $db -> fetch_array($result))
{
$r[] = $myrow;
} $cache_server->set($key, $r, 1);
return $r;
} } ?>
简化如下:
Define("LIMIT",10);
$goods_mod = & db('test');//构建实体模型(操作表)
$count = 'select count(id) from test';
$num = $goods_mod -> getone($count);//求出总记录数
$page = $this->_get_page(LIMIT);//每页显示的条数,默认是10条
$page['item_count'] = $num;// 返回一个数组$page,$page['limit']=0,10
$this->_format_page($page);//格式化分页
$sql = 'select id,title,content from test order by id desc limit '.$page['limit'];
$que = $goods_mod -> getAll($sql);//查询记录
$this -> assign('page_info',$page); //向模板页传递页数
$this -> assign('que',$que); //向模板页传递查询结果
ecmall分页的更多相关文章
- Ecmall系统自带的分页功能
在Ecmall的二次开发中,分页是必不可少的.这个系统已经自带了分页功能,下面来看看如何使用这个分页. 下面是一个自定义的类,用于查看订单的详细情况.关键在于get_order_data()这个方法, ...
- ecmall中的分页问题
<ecmall>Ecmall系统自带的分页功能 在Ecmall的二次开发中,分页是必不可少的.这个系统已经自带了分页功能,下面来看看如何使用这个分页. 下面是一个自定义的类,用于查看订单的 ...
- Ecmall系统自带的分页功能使用
在控制器如果没有定义相关模型,直接使用sql语句的话,直接使用如下语句. 即: public $db; $this->db = &db(); //然后开始使用分页类 $sql='sele ...
- 记一次SQLServer的分页优化兼谈谈使用Row_Number()分页存在的问题
最近有项目反应,在服务器CPU使用较高的时候,我们的事件查询页面非常的慢,查询几条记录竟然要4分钟甚至更长,而且在翻第二页的时候也是要这么多的时间,这肯定是不能接受的,也是让现场用SQLServerP ...
- js实现前端分页页码管理
用JS实现前端分页页码管理,可以很美观的区分页码显示(这也是参考大多数网站的分页页码展示),能够有很好的用户体验,这也是有业务需要就写了一下,还是新手,经验不足,欢迎指出批评! 首先先看效果图: 这是 ...
- JdbcTemplate+PageImpl实现多表分页查询
一.基础实体 @MappedSuperclass public abstract class AbsIdEntity implements Serializable { private static ...
- MVC如何使用开源分页插件shenniu.pager.js
最近比较忙,前期忙公司手机端接口项目,各种开发+调试+发布现在几乎上线无问题了:虽然公司项目忙不过在期间抽空做了两件个人觉得有意义的事情,一者使用aspnetcore开发了个人线上项目(要说线上其实只 ...
- NET Core-TagHelper实现分页标签
这里将要和大家分享的是学习总结使用TagHelper实现分页标签,之前分享过一篇使用HtmlHelper扩展了一个分页写法地址可以点击这里http://www.cnblogs.com/wangrudo ...
- 套用JQuery EasyUI列表显示数据、分页、查询
声明,本博客从csdn搬到cnblogs博客园了,以前的csdn不再更新,朋友们可以到这儿来找我的文章,更多的文章会发表,谢谢关注! 有时候闲的无聊,看到extjs那么肥大,真想把自己的项目改了,最近 ...
随机推荐
- Linux内核模块编写详解
内核编程常常看起来像是黑魔法,而在亚瑟 C 克拉克的眼中,它八成就是了.Linux内核和它的用户空间是大不相同的:抛开漫不经心,你必须小心翼翼,因为你编程中的一个bug就会影响到整个系统,本文给大家介 ...
- Git如何进行分支管理?
Git如何进行分支管理? 1.创建分支 创建分支很简单:git branch <分支名> 2.切换分支 git checkout <分支名> ...
- 配置可对外链接的Redis
链接服务器的Redis telnet 192.168.1.200 6379 Trying 192.168.1.200... telnet: Unable to connect to remote ho ...
- org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory' defined in class path resource [bean.xml]: Invocation of init method failed; nested exception is
在复制xml文件进行修改的时候,我经常将不小心对原文件进行修改,而导致创建bean出错.报错如下所示: Exception sending context initialized event to l ...
- Java NIO框架 Mina、Netty、Grizzly
Mina Mina(Multipurpose Infrastructure for Network Applications) 是 Apache组织一个较新的项目,它为开发高性能和高可用性的网络应用程 ...
- Java实现数组去除重复数据的方法详解
一.用List集合实现 int[] str = {5, 6, 6, 6, 8, 8, 7,4}; List<Integer> list = new ArrayList<Integer ...
- [MYSQL]时间毫秒数转换
java中常用bigint字段保存时间,通常将时间保存为一大串数字,每次取出需要在程序里转换,有时候程序里不方便,可以使用MYSQL自带的函数FROM_UNIXTIME(unix_timestamp, ...
- ajax用json实现数据传输
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.它基于ECMAScript的一个子集. JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族 ...
- PhotoShop脚本指南
Photoshop脚本语言 Photoshop支持三种脚本语言:AppleScript,VBScript,JavaScript.其中AppleScript为苹果系统,VBScript为Windows操 ...
- 开发Wordpress主题时没有特色图片的功能
在自己开发Wordpress主题的时候,发现右下方没有了之前见到的特色图片(Featured Image)功能模块 1.找到后台右上方的显示选项模块,下拉之后启用即可 2.如果以上步骤找不到该选项,那 ...