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系统自带的分页功能,布布扣,bubuko.com

时间: 2024-10-24 21:03:16

Ecmall系统自带的分页功能的相关文章

利用Windows系统自带的Powershell功能计算文件的MD5、SHA256等Hash值

概述 windows系统自带的Powershell非常的强大, 是为了代替CMD而设计的, 本文将介绍如何不使用第三方软件计算文件的校验值 前提 windows系统必须是Windows 7 SP1及以上 使用 如图, 要校验图中的Test.hex文件 在当前目录下点击文件->打开Windows Powershell->打开Windows Powershell 输入Get-FileHash -Algorithm MD5 .\Test.hex回车即可 -Algorithm后面是计算hash的算法,

设计一款相册APP,代替系统自带的相册功能,列举主要功能

分析:先分析原生相册的不足,用户需求痛点,然后描述下界面设计,并说明为什么用户要使用你的产品. iOS系统手机,自带的相机有基础的拍照,基础的美颜效果.除了本地存储,还有icloud可以存储在云端,但是比较麻烦,空间也不大.并且,拍照这个行为在自带手机没有分享互动行为,必须依靠别的社交软件进行"晒照". 自带系统功能界面比较平淡.由此,如果我要做的相机要让用户在用这软件的时候,更喜欢拍照,增加与拍照相关的场景.更喜欢晒照,分享激励 机制.用户拍照这个行为,必须与分享(让用户装逼,让用户

GridView自带的分页功能实现

要实现GrdView分页的功能操作如下:1.更改GrdView控件的AllowPaging属性为true.2.更改GrdView控件的PageSize属性为 任意数值(默认为10)3.更改GrdView控件的PageSetting->Mode为Numeric等(默认为Numeric)该属性为分页样式.GridView属性设置好了,从页面上也能看到分页样式. 现在开始实现分页的功能:1.在<<asp:GridView ID=......>后添加,OnPageIndexChanging

Android分享---调用系统自带的分享功能

以前我们总想到友盟等平台分享功能的集成,集成这玩意还得下载对应的jar包.当然,用这些平台的分享并不是说什么好处都没有,至少人家的统计功能还是很实用的.不过有的时候我们是不需要多余功能的,只需要能分享就行,那我们就可以直接用Andriod系统自带有分享功能去完成了.下面我来介绍如何实现系统的分享功能: 分享文本信息 1 Intent intent = new Intent(Intent.ACTION_SEND); 2 intent.setType("text/plain"); 3 in

安卓小记(调用系统自带的部分功能)

显示网页:         Uri uri = Uri.parse("http://www.google.com"); Intent it = new Intent(Intent.ACTION_VIEW,uri); startActivity(it);显示地图:  Uri uri = Uri.parse("geo:38.899533,-77.036476"); Intent it = new Intent(Intent.Action_VIEW,uri); start

IOS系统自带社交分享

很多APP中都带有社交分享功能,通过用户的分享,让更多地人去了解和使用这个APP,目前社交分享是移动互联网应用程序推广的最重要手段之一,国内较或的分享平台有微信,IOS6后苹果集成的新浪微博,还有IOS7后集成的腾讯微博. 在IOS中,实现社交分享可以自己编写各个平台的分享代码,但代码量较多,也可以利用IOS自带的Social.framework,更可以利用第三方的分享框架,如友盟,ShareSDK等.接下来先介绍一个系统自带的分享功能. 打开设备或模拟器的偏好设置,可以看到如下 系统需要先登录

WinForm DataGridView分页功能

WinForm 里面的DataGridView不像WebForm里面的GridView那样有自带的分页功能,需要自己写代码来实现分页,效果如下图: 分页控件  .CS: 1 using System; 2 using System.Collections.Generic; 3 using System.ComponentModel; 4 using System.Data; 5 using System.Drawing; 6 using System.Linq; 7 using System.T

django实现分页功能

在个人博客或者网站上,我们发表文章经常会对博客进行分页,下面代码用django实现: django有它自带的分页功能:Paginator 不过我们用在它基础上开发的另一个包:django-pure-pagination 先了解一下这个包特性: 1.使用与django.core相同的API,因此与现有代码完全兼容. 2.它考虑了现有的GET参数,具有动态查询字符串创建. 3.用html呈现分页功能,开箱即用(方便) 4.使呈现更高级的分页模板更加容易. 使用: 一.安装 在虚拟环境中通过pip安装

SAP R3 用系统自带的功能查看后台数据库数据 SE16

SAP R3 用系统自带的功能查看后台数据库数据 如果用户端没有装oracle专用的查看表内容的工具软件 ,就可以用SAP 自带的功能查看,也可以实现,现介绍一下方法: 直接输入T-code: SE16 上下图对比,显示的所有的字段都是一致的. 建议用系统自带的SE16查看,不得已才用第三方工具.