钱柜官网专注于商业源码、商业教程、商业素材、商业模板、精品软件分享,为广泛站长朋友提供最优质的劳动。
地名:
电码:
登记

商业源码分享

VIP

ecshop主席台通过ajax追寻原理

www.yzwym.com / 2015-08-24
ecshop的寻找其实是力量十分强大的,但是ecshop追寻功能前台和后台还不大一样,看台主要是通过get办法,付出的url拓展分页,而在ecshop的跳台,则是吸纳表单的寻找条件,下一场通过js通告到ajax.末了又通过ecshop的ajax名将结果返回.下一场在表现最后的寻找结果.
   咱们来举个比喻,切切实实分析下ecshop主席台通过ajax办法来开展搜索.
   比如我们通过ecshop主席台的ajax办法来搜索退换货订单
   1:必须在htm美方增增加以下搜索框,订单号 <input type="text" name="order_sn" size="15" />
   2:html中的ajax可以写成以下格式
       listTable.filter['order_sn'] = Utils.trim(document.forms['searchForm'].elements['order_sn'].value);
       listTable.filter['page'] = 1;
        listTable.loadList();
     咱们可以见到以下,就是通过listTable.loadList();来触发ajax的。
   3:咱们再瞅php公用。
  $result = get_filter();
    if ($result === false)
    {
      如果返回结果为空,这就是说就开展ajax结果筛选
     $filter['invoice_no']   = empty($_REQUEST['invoice_no']) ? '' : trim($_REQUEST['invoice_no']);
        if ($_REQUEST['is_ajax'] == 1)
        {
            $filter['order_sn'] = json_str_iconv($filter['order_sn']);
        }
        $filter['sort_by']    = empty($_REQUEST['sort_by']) ? 'cid' : trim($_REQUEST['sort_by']);
        $filter['sort_order'] = empty($_REQUEST['sort_order']) ? 'DESC' : trim($_REQUEST['sort_order']);
         $sql = "SELECT COUNT(*) FROM " . $GLOBALS['ecs']->table('change') .
               " WHERE 1 " . $where;
        $filter['record_count'] = $GLOBALS['db']->getOne($sql);
        $filter = page_and_size($filter);
        /* 获活动数据 */
        $sql = "SELECT * ".
               " FROM " . $GLOBALS['ecs']->table('change') .
               " WHERE 1 " . $where .
               " ORDER by $filter[sort_by] $filter[sort_order] LIMIT ". $filter['start'] .", " . $filter['page_size'];
        $filter['keywords'] = stripslashes($filter['keywords']);
        set_filter($filter, $sql);
      
   }else{
        $sql    = $result['sql'];
        $filter = $result['filter'];
}
    4:末了将查询结果返回
   $arr = array('res' => $row, 'filter' => $filter, 'page_count' => $filter['page_count'], 'record_count' => $filter['record_count']);
    return $arr;
   咱们在来分析下,res是返回的全体数据,filter是过滤检索条件,page_count是分页数量,record_count表示查询的记录总数.
   穿越上述封装,咱们可以顺利的在ecshop主席台使用ajax追寻数据
收缩