thinkphp5 ajax搜索+分页

  1.                 <center>  
  2.                 <table >  
  3.   
  4.                     <tr>  
  5.                         水果名称<input type="text" name="f_name" class="f_name">  
  6.                         水果分类  
  7.                         <select name="t_id" id="" class="t_id">  
  8.                             <option value="">请选择分类</option>  
  9.                             {foreach name='type' item='vo'}  
  10.                             <option value="{$vo.t_id}">{$vo.t_name}</option>  
  11.                             {/foreach}  
  12.                         </select>  
  13.   
  14.                         上架状态  
  15.                         <select name="is_show"  class="is_show">  
  16.                             <option value="">请选择上架状态</option>  
  17.                             <option value="1">上架</option>  
  18.                             <option value="0">未上架</option>  
  19.                         </select>  
  20.                        活动状态  
  21.                         <select name="is_hot" class="is_hot">  
  22.                             <option value="">请选择活动状态</option>  
  23.                             <option value="1">参与活动</option>  
  24.                             <option value="0">未参与活动</option>  
  25.                         </select>  
  26.                         <input type="button" value="搜索" class="sou">  
  27.                     </tr>  
  28.   
  29.                 </table>  
  30.                 </center>  
  31.                 <table id="sample-table-1" class="table table-striped table-bordered table-hover">  
  32.                     <thead>  
  33.                     <tr>  
  34.   
  35.                         <th class="center">  
  36.                             <label>  
  37.                                 <input type="checkbox" class="ace" />  
  38.                                 <span class="lbl"></span>  
  39.                             </label>  
  40.                         </th>  
  41.                         <th>商品编号</th>  
  42.                         <th>商品名称</th>  
  43.                         <th>商品图片</th>  
  44.                         <th>所属分类</th>  
  45.                         <th>水果重量</th>  
  46.                         <th>水果库存</th>  
  47.                         <th>已销售量</th>  
  48.                         <th>产地</th>  
  49.                         <th>销售价</th>  
  50.                         <th>会员价</th>  
  51.                         <th>是否上架</th>  
  52.                         <th>是否参与活动</th>  
  53.                         <th>操作</th>  
  54.                     </tr>  
  55.                     </thead>  
  56.   
  57.                     <tbody class="body">  
  58.                     {foreach name='data' item='v'}  
  59.                     <tr>  
  60.                         <td class="center">  
  61.                             <label>  
  62.                                 <input type="checkbox" class ='box' name="box" alt="{$v.f_id}"/>  
  63.                                 <span class="lbl"></span>  
  64.                             </label>  
  65.                         </td>  
  66.   
  67.   
  68.                         <td>{$v.f_id}</td>  
  69.                         <td>{$v.f_name}</td>  
  70.                         <td><img src="<?php echo $v['f_img'];?>" alt="" width="50"></td>  
  71.                         <td>{$v.t_name}</td>  
  72.                         <td>{$v.f_weight}</td>  
  73.                         <td>{$v.f_surplus}</td>  
  74.                         <td>{$v.f_sale}</td>  
  75.                         <td>{$v.f_place}</td>  
  76.                         <td>{$v.m_price}</td>  
  77.                         <td>{$v.v_price}</td>  
  78.                         <td>  
  79.                             {if condition="$v.is_show == 1"}  
  80.                              上架  
  81.                             {else /}  
  82.                          下架  
  83.                             {/if}  
  84.                         </td>  
  85.                         <td>  
  86.                             {if condition="$v.is_hot== 1"}  
  87.                              参与活动  
  88.                             {else /}  
  89.                          不参与活动  
  90.                             {/if}  
  91.                         </td>  
  92.                         <td>  
  93.                             <href="{:url('index/Goods/modify')}?fid={$v.f_id}">编辑</a>  
  94.                             <button class="del" alt="{$v.f_id}">删除</button>  
  95.                         </td>  
  96.   
  97.                     </tr>  
  98.                     {/foreach}  
  99.   
  100.   
  101.   
  102.                     </tbody>  
  103.                 </table>  
  104.                 <center>  
  105.                 <table >  
  106.                 <div><div class="pages">{$page}</div>  
  107.                     <input type="button" class="quan" value="全选">  
  108.                     <input type="button" class="fan" value="反选">  
  109.                     <input type="button" class="pishan" value="批删">  
  110.                     <input type="text" class="pa" value="{$num}"></div>  
  111.   
  112.                 </table>  
  113.                 </center>  
  114.             </div><!-- /.table-responsive -->  
  115.         </div><!-- /span -->  
  116.     </div><!-- /row -->  
  117.     <script src="js/jq.js"></script>  
  118.     <script>  
  119.         var obj= new Object();  
  120.         $('.sou').click(function(){  
  121.             obj['f_name']=$('.f_name').val();  
  122.             obj['t_id']=$('.t_id').val();  
  123.             obj['is_show']=$('.is_show').val();  
  124.             obj['is_hot']=$('.is_hot').val();  
  125. //            alert(obj['t_id']);  
  126.             obj['id']=2  
  127.             page(1);  
  128.         })  
  129.         //分页  
  130.   
  131.         function page(p){  
  132.             var html='';  
  133.             $.each(obj,function(k,v){  
  134.                 html+=k+'='+v+'&';  
  135.             });  
  136.             var num=$('.pa').val();  
  137.             var str='';  
  138.   
  139.             $.ajax({  
  140.                 type: "POST",  
  141. //                url: "index.php/index/goods/page",  
  142.                 url: "{:url('index/Goods/page')}",  
  143.                 data: html+"p="+p+"&num="+num,  
  144.                 dataType:'json',  
  145.                 success: function(msg){  
  146.   
  147.                     $('.pages').html(msg.page);  
  148.                     $('.pa').val(num);  
  149.                     var is_show='';  
  150.                     var is_hot='';  
  151.                     $.each( msg.list, function(k, v){  
  152.                         if(v.is_show==1){  
  153.                             is_show='上架'  
  154.                         }else {  
  155.                             is_show='下架'  
  156.                         }  
  157.                         if(v.is_hot==1){  
  158.                             is_hot='参与活动'  
  159.                         }else {  
  160.                             is_hot='不参与活动'  
  161.                         }  
  162.                         str+='<tr><td class="center"><label><input type="checkbox" class ="box" name="box" alt="'+ v.f_id+'"/><span class="lbl"></span></label></td>';  
  163.                         str+='<td>'+v.f_id+'</td><td>'+v.f_name+'</td><td><img src="'+ v.f_img+'" alt="" width="50"></td><td>'+v.t_name+'</td><td>'+v.f_weight+'</td><td>'+v.f_surplus+'</td><td>'+v.f_sale+'</td><td>'+v.f_place+'</td><td>'+v.m_price+'</td><td>'+v.v_price+'</td>';  
  164.                            str+='<td>'+is_show+'</td><td>'+is_hot+'</td><td><href="index.php/index/Goods/modify?fid='+v.f_id+'">编辑</a><button class="del" alt="'+v.f_id+'">删除</button></td></tr>';  
  165. //                        str+='<tr><td>'+v.user_id+'</td><td>'+v.username+'</td><td>'+v.sex+'</td><td>'+v.age+'</td><td><'+v.lasttime+'</td></tr>';  
  166.                     });  
  167.                     $('.body').html(str);  
  168.   
  169.         }  
  170.             });  
  171.         }  
  172.   
  173.   
  174.     
[php]  view plain  copy
 
  1.     public function lists()  
  2.     {  
  3. //      商品关联分类查询 普通展示  
  4. //      $data = db('sg_fruits')  
  5. //          ->join('sg_type', 'sg_fruits.t_id = sg_type.t_id')  
  6. //          ->select();  
  7. //      $this->view->engine->layout(true);  
  8. //      $this->assign('data', $data);  
  9. //      return view('lists');  
  10. //  
  11. //  
  12.   
  13.         //分页展示  
  14.         //总条数  
  15.         $count=db('sg_fruits')  
  16.         ->join('sg_type','sg_fruits.t_id = sg_type.t_id')  
  17.             ->count();  
  18.         //默认当前页1//每页显示条数  
  19.         $p=1;$num=5;  
  20.         $limit=($p-1)*$num;  
  21.   
  22.         $fruits=new Fruits();  
  23.         $page=$fruits->fen($count,$p,$num);  
  24.         $data=db('sg_fruits')  
  25.             ->join('sg_type','sg_fruits.t_id = sg_type.t_id')  
  26.             ->limit($limit,$num)  
  27.             ->select();  
  28.         //查询分类  
  29.         $type= db('sg_type')->select();  
  30.   
  31.         // 把分页数据赋值给模板变量list  
  32.         $this->view->engine->layout(true);  
  33.   
  34.         $this->assign('data', $data);  
  35.         $this->assign('page', $page);  
  36.         $this->assign('type', $type);  
  37.         $this->assign('num', $num);  
  38.   
  39.         // 渲染模板输出  
  40.        return $this->fetch();  
  41.   
  42.     }  
  43. //分页2往后  
  44.     public function  page(){  
  45.         if(isset($_POST['id'])){  
  46.             $arr=$_POST;  
  47. //          var_dump($arr);die;  
  48.             $where[]='1=1';  
  49.             if(!empty($arr['is_hot  '])){  
  50.                 $a = $arr['is_hot'];  
  51.                 $where[]= 'is_hot ='."$a";  
  52.             }  
  53.             if(!empty($arr['is_show'])) {  
  54.                 $b = $arr['is_show'];  
  55.                 $where[] = 'is_show =' . "$b";  
  56.             }  
  57.             if(!empty($arr['t_id'])) {  
  58.                 $d = $arr['t_id'];  
  59.                 $where[] = 'sg_fruits.t_id ='."$d";  
  60.             }  
  61.             if(!empty($arr['f_name'])) {  
  62.                 $c = $arr['f_name'];  
  63.                 $where[] = 'f_name  like \'%' . "$c".'%\'';  
  64.             }  
  65.   
  66.             $wh=implode(' AND ',$where);  
  67. //          echo $wh;die;  
  68.               
  69.             $num=$_POST['num'];  
  70.             $p=$_POST['p'];  
  71.             $fruits=new Fruits();  
  72.             //总条数  
  73.             $count=db('sg_fruits')  
  74.                 ->join('sg_type','sg_fruits.t_id = sg_type.t_id')  
  75.                 ->where($wh)  
  76.                 ->count();  
  77.             $data['page']=$fruits->fen($count,$p,$num);  
  78.             $limit=($p-1)*$num;  
  79.             $data['list']=db('sg_fruits')  
  80.                 ->join('sg_type','sg_fruits.t_id = sg_type.t_id')  
  81.                 ->where($wh)  
  82.                 ->limit($limit,$num)  
  83.                 ->select();  
  84.             echo json_encode($data);  
  85.         }else{  
  86.             $num=$_POST['num'];  
  87.             $p=$_POST['p'];  
  88.             $fruits=new Fruits();  
  89.             //总条数  
  90.             $count=db('sg_fruits')  
  91.                 ->join('sg_type','sg_fruits.t_id = sg_type.t_id')  
  92.                 ->count();  
  93.             $data['page']=$fruits->fen($count,$p,$num);  
  94.             $limit=($p-1)*$num;  
  95.             $data['list']=db('sg_fruits')  
  96.                 ->join('sg_type','sg_fruits.t_id = sg_type.t_id')  
  97.                 ->limit($limit,$num)  
  98.                 ->select();  
  99.             echo json_encode($data);  
  100.         }  
[php]  view plain  copy
 
  1. <?php  
  2. namespace app\index\model;  
  3.   
  4. use think\Model;  
  5.   
  6. class Fruits{  
  7.      public function fen($count,$p,$num)  
  8.     {  
  9.         //分页数据  
  10.         $pageSum=ceil($count/$num);//总页数  
  11.         $prevPage=$p-1>1?$p-1:1;//上一页  
  12.         $nextPage=$p+1<$pageSum?$p+1:$pageSum;//下一页;  
  13.         $str='';  
  14.         $str.='<a href="javascript:page(1)">首页</a>';  
  15.         $str.='<a href="javascript:page('.$prevPage.')">上一页</a>';  
  16.         $str.=$p.'/'.$pageSum;  
  17.         $str.='<a href="javascript:page('.$nextPage.')">下一页</a>';  
  18.         $str.='<a href="javascript:page('.$pageSum.')">末页</a>';  
  19.         return $str;  
  20.   
  21.     }  
  22. }  
  23.   
  24.   
  25.   
  26. ?>  


</script>

猜你喜欢

转载自www.cnblogs.com/phpzlq/p/9154278.html
今日推荐