ecshop后台开发,工作中分页中遇到的问题

1.通过筛选条件筛选出数据后,点击下一页返回没有筛选(所有数据)的第二页数据 效果

结果

点击分页后效果

问题:ecshop分页利用ajax实现,在点击下一页时会把分页数据($filter数组is_ajax=1  act:query  record_count:1480  page_count:70  page:2  start:0)同时传过去,通过Ajax实现重新获取下一页的数据

  所以需要通过传送一个参数来区分审核通过和审核不通过,查询的时候通过判断传入值(对应相应的sql条件)进行数据查询

  if ($_REQUEST['act'] == 'query') {

    check_authz_json('identity_approve_manage');

    if (isset($_POST['name']) && !empty($_POST['brand_name'])) //按关键字搜索
{
$brand_list = get_list('','',$_POST['name']);
}elseif (isset($_POST['level']) && $_POST['level']==1) //审核通过
{
$sqlwhe=" WHERE a.type='0' AND a.approve_stat IN('3','6','9') AND a.is_processed='1' ";
$brand_list = get_list($sqlwhe,$_POST['level'],''); }elseif (isset($_POST['level']) && $_POST['level']==2) //审核不通过
{
$sqlwhe=" WHERE a.type='0' AND a.approve_stat NOT IN('3','6','9') AND a.is_processed='1' ";
$brand_list = get_list($sqlwhe,$_POST['level'],'');
}else{
$wheretype=" WHERE a.type='0'";
$brand_list = get_list($wheretype,'','');
//全部显示
}

get_list()函数通过判断条件查询数据

function get_list($where = '',$filters='',$rand_name='') {

    $result = get_filter();
if ($result === false) {
/* 分页大小 */
$filter = array(); if (!empty($where) && !empty($filters)) //判断审核条件查询条件
{
$filter['level']=$filters;
}
if(empty($where) && !empty($rand_name)) //判断按关键字查询条件
{
$filter['name']=$rand_name;
}
if (isset($_POST['name']) && !empty($_POST['name']) )
{
if (strtoupper(EC_CHARSET) == 'GBK') {
$keyword = iconv("UTF-8", "gb2312", $_POST['name']);
} else {
$keyword = $_POST['name'];
}
$sql = "SELECT COUNT(*) FROM " . $GLOBALS['ecs'] -> table('identity_approve') . " a " . " LEFT JOIN " . $GLOBALS['sns'] -> table('user') . " u " . " ON u.uid = a.user_id " . " WHERE (u.phone like '%{$keyword}%' or u.true_name like '%{$keyword}%') AND a.type='0' "; }else{
$sql = "SELECT COUNT(*) FROM " . $GLOBALS['ecs'] -> table('identity_approve'). " a " . " LEFT JOIN " . $GLOBALS['sns'] -> table('user') . " u " . " ON u.uid = a.user_id ".$where; }
$filter['record_count'] = $GLOBALS['db'] -> getOne($sql); $filter = page_and_size($filter);

下面查询数据也一样

问题解决

问题2.第一次打开或刷新后打开页面,第一次点击下一页有反应,可以实现第二页效果而再点击下一页没反应,但通过后面的下来菜单点击跳转按钮可以实现

($_REQUEST['act'] == 'query') {

$car_list = car_list();
$smarty -> assign('car_info', $car_list['car']);
$smarty->assign('filter', $car_list['filter']);
$smarty->assign('record_count', $car_list['record_count']);
$smarty->assign('page_count', $car_list['page_count']);
//以上数据进行分页总记录数 当前页 下拉菜单跳转的数据分配
make_json_result($smarty -> fetch('car_list.htm'),'', array('filter' => $car_list['filter'], 'page_count' => $car_list
['page_count']));
//这个进行上一个下一页 首末页的跳转数据分配
}

Echop后台分页实现原理详解的更多相关文章

  1. I2C 基础原理详解

    今天来学习下I2C通信~ I2C(Inter-Intergrated Circuit)指的是 IC(Intergrated Circuit)之间的(Inter) 通信方式.如上图所以有很多的周边设备都 ...

  2. Zigbee组网原理详解

    Zigbee组网原理详解 来源:互联网 作者:佚名2015年08月13日 15:57   [导读] 组建一个完整的zigbee网状网络包括两个步骤:网络初始化.节点加入网络.其中节点加入网络又包括两个 ...

  3. 块级格式化上下文(block formatting context)、浮动和绝对定位的工作原理详解

    CSS的可视化格式模型中具有一个非常重要地位的概念——定位方案.定位方案用以控制元素的布局,在CSS2.1中,有三种定位方案——普通流.浮动和绝对定位: 普通流:元素按照先后位置自上而下布局,inli ...

  4. SSL/TLS 原理详解

    本文大部分整理自网络,相关文章请见文后参考. SSL/TLS作为一种互联网安全加密技术,原理较为复杂,枯燥而无味,我也是试图理解之后重新整理,尽量做到层次清晰.正文开始. 1. SSL/TLS概览 1 ...

  5. 锁之“轻量级锁”原理详解(Lightweight Locking)

    大家知道,Java的多线程安全是基于Lock机制实现的,而Lock的性能往往不如人意. 原因是,monitorenter与monitorexit这两个控制多线程同步的bytecode原语,是JVM依赖 ...

  6. [转]js中几种实用的跨域方法原理详解

    转自:js中几种实用的跨域方法原理详解 - 无双 - 博客园 // // 这里说的js跨域是指通过js在不同的域之间进行数据传输或通信,比如用ajax向一个不同的域请求数据,或者通过js获取页面中不同 ...

  7. 节点地址的函数list_entry()原理详解

    本节中,我们继续讲解,在linux2.4内核下,如果通过一些列函数从路径名找到目标节点. 3.3.1)接下来查看chached_lookup()的代码(namei.c) [path_walk()> ...

  8. WebActivator的实现原理详解

    WebActivator的实现原理详解 文章内容 上篇文章,我们分析如何动态注册HttpModule的实现,本篇我们来分析一下通过上篇代码原理实现的WebActivator类库,WebActivato ...

  9. Influxdb原理详解

    本文属于<InfluxDB系列教程>文章系列,该系列共包括以下 15 部分: InfluxDB学习之InfluxDB的安装和简介 InfluxDB学习之InfluxDB的基本概念 Infl ...

随机推荐

  1. 搜索与DP:SLIKAR

    Problem: SLIKAR[题目描述]Josip 是个奇怪的画家,他想画一幅由 N*N 个点组成的图, N 是一个 2 的乘方 数(1, 2, 4, 8, 16 等.).每个点要么是黑色的,要么是 ...

  2. ToArray()和IEnumerable<T>,List<T>

    一:ToArray() 在程序中,我们往往习惯使用List<>这种集合类,但是程序中却要求需要传递一个数组,List<>已经为我们提供了toArray()方法 二:IEnume ...

  3. android.process.acore和system进程

    从源码看来,android.process.acore进程应该是一些基本功能的载入程序. android-4.3_r2.2中,它包括以下项目: 1.UserDictionaryProvider < ...

  4. kafka消息监控-KafkaOffsetMonitor

    参照site:https://github.com/quantifind/KafkaOffsetMonitor 一.简述 这个应用程序用来实时监控Kafka服务的Consumer以及它们所在的Part ...

  5. WCF分布式事务

    原文地址:http://developer.51cto.com/art/201002/185426.htm 我们作为一个开发人员,应该能够顺应技术的不断发展,不断的去掌握新技术.那么,对于WCF的掌握 ...

  6. 手把手教你把VIM改成一个集成开发环境

    转载自:http://blog.csdn.net/wooin/article/details/1858917 在原文基础上经过自己验证,修改和完善 OS:Fedora19 VIM:VIM7.4 一.写 ...

  7. [Java] JavaMail 简单案例

    网易提供了免费的 SMTP / POP3服务,可用于编程测试,详情见 什么是POP3.SMTP和IMAP? 只需要拥有一个网易邮箱账号,并开启该账号的 SMTP / POP3 功能,便可以通过程序发送 ...

  8. table头部、尾部固定;中间内容定高自适应滚动

    table头部.尾部固定;中间内容定高自适应滚动 很多时候,需要使用到表格做数据分析,不管是前端展现,还是后台管理系统节点展现 工作过程中遇到了,作为一个小笔记,备忘! 如下图所示 --------- ...

  9. Hard 随机洗牌函数 @CareerCup

    第i个元素和index在[i,length-1]之间的一个数随机交换 package Hard; import CtCILibrary.AssortedMethods; /** * * Write a ...

  10. Hadoop2.6.0在Ubuntu Kylin14.04上的配置

    最近几天在忙参加一个云计算比赛,之前也在Ubuntu上配成功过hadoop,不过是按照书上讲的,一步一步来的.因此,印象不深,对自己的帮助也不大.这次趁着机会,自己练了两遍配置过程,感觉收获比较丰富, ...