2KB项目,专业的源码交易网站 帮助 收藏 每日签到

ecshop后台通过ajax搜索原理

  • 时间:2019-01-31 02:15 编辑:2KB 来源:2KB.COM 阅读:291
  • 扫一扫,手机访问
  • 分享
摘要: ecshop的搜索其实是功能十分强大的,但是ecshop搜索功能前台和后台还不大一样,前台主要是通过get方式,提交的url进行分页,而在ecshop的后台,则是接受表单的搜索条件,然后通过js发布到ajax.最后又通过ecshop的ajax将结果返回.然后在
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[&#39;order_sn&#39;] = Utils.trim(document.forms[&#39;searchForm&#39;].elements[&#39;order_sn&#39;].value);        listTable.filter[&#39;page&#39;] = 1;         listTable.loadList();      我们可以看到以下,就是通过listTable.loadList();来触发ajax的。    3:我们再看php调用。   $result = get_filter();     if ($result === false)     {       如果返回结果为空,那么就进行ajax结果筛选      $filter[&#39;invoice_no&#39;]   = empty($_REQUEST[&#39;invoice_no&#39;]) ? &#39;&#39; : trim($_REQUEST[&#39;invoice_no&#39;]);         if ($_REQUEST[&#39;is_ajax&#39;] == 1)         {             $filter[&#39;order_sn&#39;] = json_str_iconv($filter[&#39;order_sn&#39;]);         }         $filter[&#39;sort_by&#39;]    = empty($_REQUEST[&#39;sort_by&#39;]) ? &#39;cid&#39; : trim($_REQUEST[&#39;sort_by&#39;]);         $filter[&#39;sort_order&#39;] = empty($_REQUEST[&#39;sort_order&#39;]) ? &#39;DESC&#39; : trim($_REQUEST[&#39;sort_order&#39;]);          $sql = "SELECT COUNT(*) FROM " . $GLOBALS[&#39;ecs&#39;]->table(&#39;change&#39;) .                " WHERE 1 " . $where;         $filter[&#39;record_count&#39;] = $GLOBALS[&#39;db&#39;]->getOne($sql);         $filter = page_and_size($filter);         /* 获活动数据 */         $sql = "SELECT * ".                " FROM " . $GLOBALS[&#39;ecs&#39;]->table(&#39;change&#39;) .                " WHERE 1 " . $where .                " ORDER by $filter[sort_by] $filter[sort_order] LIMIT ". $filter[&#39;start&#39;] .", " . $filter[&#39;page_size&#39;];         $filter[&#39;keywords&#39;] = stripslashes($filter[&#39;keywords&#39;]);         set_filter($filter, $sql);           }else{         $sql    = $result[&#39;sql&#39;];         $filter = $result[&#39;filter&#39;]; }     4:最后将查询结果返回    $arr = array(&#39;res&#39; => $row, &#39;filter&#39; => $filter, &#39;page_count&#39; => $filter[&#39;page_count&#39;], &#39;record_count&#39; => $filter[&#39;record_count&#39;]);     return $arr;    我们在来分析下,res是返回的所有数据,filter是过滤检索条件,page_count是分页数量,record_count表示查询的记录总数.    通过以上封装,我们可以顺利的在ecshop后台使用ajax检索数据


2KB项目(www.2kb.com,源码交易平台),提供担保交易、源码交易、虚拟商品、在家创业、在线创业、任务交易、网站设计、软件设计、网络兼职、站长交易、域名交易、链接买卖、网站交易、广告买卖、站长培训、建站美工等服务

  • 全部评论(0)
资讯详情页最新发布上方横幅
最新发布的资讯信息
【计算机/互联网|】Nginx出现502错误(2020-01-20 21:02)
【计算机/互联网|】网站运营全智能软手V0.1版发布(2020-01-20 12:16)
【计算机/互联网|】淘宝这是怎么了?(2020-01-19 19:15)
【行业动态|】谷歌关闭小米智能摄像头,因为窃听器显示了陌生人家中的照片(2020-01-15 09:42)
【行业动态|】据报道谷歌新闻终止了数字杂志,退还主动订阅(2020-01-15 09:39)
【行业动态|】康佳将OLED电视带到美国与LG和索尼竞争(2020-01-15 09:38)
【行业动态|】2020年最佳AV接收机(2020-01-15 09:35)
【行业动态|】2020年最佳流媒体设备:Roku,Apple TV,Firebar,Chromecast等(2020-01-15 09:31)
【行业动态|】CES 2020预览:更多的流媒体服务和订阅即将到来(2020-01-08 21:41)
【行业动态|】从埃隆·马斯克到杰夫·贝佐斯,这30位人物定义了2010年代(2020-01-01 15:14)
联系我们

Q Q: 7090832

电话:400-0011-990

邮箱:7090832@qq.com

时间:9:00-23:00

联系客服
商家入住 服务咨询 投拆建议 联系客服
0577-67068160
手机版

扫一扫进手机版
返回顶部