laravel框架关于搜索功能的实现


Posted in PHP onMarch 15, 2018

这里的搜索功能主要基于表单get提交实现的

<form action="/backend/auditList" method="get">
  <table class="search_tab">
    <tr>
      <th width="120">选择分类:</th>
      <td>
        <select name="class" >
          <option value="">全部</option>
          @foreach($category as $c)
            <option value="{{$c->id}}">{{$c->class_name}}</option>
          @endforeach
        </select>
      </td>
      <th width="70">文章标题:</th>
      <!--查询关键词-->
      <td><input type="text" name="keywords" placeholder="文章标题"></td>
      <td><input type="submit" name="sub" value="查询"></td>
    </tr>
  </table>
</form>

php部分逻辑

public function article_list(){
  //echo 'zoule';exit; 测试表单是否走进方法中 大家随意写
  $shownum = 1;
  if(array_key_exists('class',$_GET)||array_key_exists('keywords',$_GET)){
   //echo '111'; 
   if($_GET['class']){
   //Article模型 leftJoin表连接 查询根据俩个表里的这些字段来执行
     $postdata = Article::leftJoin('category', function($join) {
      $join->on('article.class_id', '=', 'category.id');
     })->select(['article.id','category.class_name','article.status','article.title_editing','article.update_time'])->where('article.class_id','=',$_GET['class'])->orderBy('release_time','desc')->paginate($shownum);
   }elseif($_GET['keywords']){
     $postdata = Article::leftJoin('category', function($join) {
      $join->on('article.class_id', '=', 'category.id');
     })->select(['article.id','category.class_name','article.status','article.title_editing','article.update_time'])->where('article.title_editing','=',$_GET['keywords'])->orderBy('release_time','desc')->paginate($shownum);
    
   }else{
     $postdata = Article::leftJoin('category', function($join) {
      $join->on('article.class_id', '=', 'category.id');
     })->select(['article.id','category.class_name','article.status','article.title_editing','article.update_time'])->orderBy('release_time','desc')->paginate($shownum);
   }
  }else{
   //echo '2222';
   $postdata = Article::leftJoin('category', function($join) {
     $join->on('article.class_id', '=', 'category.id');
   })->select(['article.id','category.class_name','article.status','article.title_editing','article.update_time'])->orderBy('release_time','desc')->paginate($shownum);
  }
  //分类id不是父id
  $category = DB::table('category')->where('parent_id','!=','0')->get();
  //渲染页面 传递 参数
  return view('backend.article_list',['postdata'=>$postdata,'shownum'=>$shownum,'category'=>$category]);
}
PHP 相关文章推荐
使用sockets:从新闻组中获取文章(三)
Oct 09 PHP
php 分库分表hash算法
Nov 12 PHP
PHP目录函数实现创建、读取目录教程实例
Jan 13 PHP
使用php 获取时间今天明天昨天时间戳的详解
Jun 20 PHP
解析用PHP实现var_export的详细介绍
Jun 20 PHP
PHP数组函数知识汇总
May 12 PHP
完美解决phpexcel导出到xls文件出现乱码的问题
Oct 29 PHP
使用PHP+MySql+Ajax+jQuery实现省市区三级联动功能示例
Sep 15 PHP
PHP实现的服务器一致性hash分布算法示例
Aug 09 PHP
PHP大文件切割上传并带进度条功能示例
Jul 01 PHP
PHP+ajax实现上传、删除、修改单张图片及后台处理逻辑操作详解
Feb 12 PHP
PHP Pipeline 实现中间件的示例代码
Apr 26 PHP
PHP实现浏览器中直接输出图片的方法示例
Mar 14 #PHP
PHP实现生成推广海报的方法详解
Mar 14 #PHP
PHP基于phpqrcode类生成二维码的方法详解
Mar 14 #PHP
PHP判断是否是微信打开,浏览器打开的方法
Mar 14 #PHP
Laravel模型事件的实现原理详解
Mar 14 #PHP
PHP实现根据数组某个键值大小进行排序的方法
Mar 13 #PHP
Laravel多用户认证系统示例详解
Mar 13 #PHP
You might like
PHP简单实现上一页下一页功能示例
2016/09/14 PHP
php array_slice 取出数组中的一段序列实例
2016/11/04 PHP
php注册系统和使用Xajax即时验证用户名是否被占用
2017/08/31 PHP
PHP filter_var() 函数, 验证判断EMAIL,URL等
2021/03/09 PHP
用Javascript数组处理多个字符串的连接问题
2009/08/20 Javascript
JS对话框_JS模态对话框showModalDialog用法总结
2014/01/11 Javascript
jquery选择器之层级过滤选择器详解
2014/01/27 Javascript
自己使用js/jquery写的一个定制对话框控件
2014/05/02 Javascript
jQuery is()函数用法3例
2014/05/06 Javascript
jQuery文件上传插件Uploadify使用指南
2014/06/05 Javascript
javascript特殊日历控件分享
2016/03/07 Javascript
JS结合bootstrap实现基本的增删改查功能
2016/07/22 Javascript
Vue.js每天必学之组件与组件间的通信
2016/09/08 Javascript
JS控制div跳转到指定的位置的几种解决方案总结
2016/11/05 Javascript
AngularJS基于ui-route实现深层路由的方法【路由嵌套】
2016/12/14 Javascript
js使用Replace结合正则替换重复出现的字符串功能示例
2016/12/27 Javascript
JavaScript动态绑定详解
2017/09/14 Javascript
微信小程序左右滑动的实现代码
2017/12/15 Javascript
vue生成token并保存到本地存储中
2018/07/17 Javascript
详解Vue2 添加对scss的支持
2019/01/02 Javascript
javascript开发实现贪吃蛇游戏
2020/07/31 Javascript
javascript中正则表达式语法详解
2020/08/07 Javascript
html+vue.js 实现漂亮分页功能可兼容IE
2020/11/07 Javascript
[01:05:12]2014 DOTA2国际邀请赛中国区预选赛 TongFu VS CIS-GAME
2014/05/21 DOTA
[01:34]完美“圣”典宣传片震撼发布,12.17与你不见不散
2016/12/16 DOTA
举例讲解Python程序与系统shell交互的方式
2015/04/09 Python
Python中__new__与__init__方法的区别详解
2015/05/04 Python
python去除扩展名的实例讲解
2018/04/23 Python
协程Python 中实现多任务耗资源最小的方式
2020/10/19 Python
详解Python 中的 defaultdict 数据类型
2021/02/22 Python
python实现杨辉三角的几种方法代码实例
2021/03/02 Python
详解如何解决H5开发使用wx.hideMenuItems无效果不生效
2021/01/20 HTML / CSS
高一军训的心得体会
2014/09/01 职场文书
2014教师党员自我评议(5篇)
2014/09/20 职场文书
经典法律座右铭(50句)
2019/08/15 职场文书
python学习之panda数据分析核心支持库
2021/05/07 Python