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 相关文章推荐
PHP开发的一些注意点总结
Oct 12 PHP
php中对2个数组相加的函数
Jun 24 PHP
php 短链接算法收集与分析
Dec 30 PHP
php中大括号作用介绍
Mar 22 PHP
PHP array_multisort() 函数的深入解析
Jun 20 PHP
ThinkPHP中U方法的使用浅析
Jun 13 PHP
PHP防止表单重复提交的几种常用方法汇总
Aug 19 PHP
PHP图片处理之使用imagecopyresampled函数实现图片缩放例子
Nov 19 PHP
php获取百度收录、百度热词及百度快照的方法
Apr 02 PHP
CodeIgniter配置之autoload.php自动加载用法分析
Jan 20 PHP
PHP环境搭建的详细步骤
Jun 30 PHP
php实现的rc4加密解密类定义与用法示例
Aug 16 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+mysql数据库查询实例
2015/01/21 PHP
php单例模式实现方法分析
2015/03/14 PHP
php获取一定范围内取N个不重复的随机数
2016/05/28 PHP
document.designMode的功能与使用方法介绍
2007/11/22 Javascript
根据一段代码浅谈Javascript闭包
2010/12/14 Javascript
jQuery数组处理代码详解(含实例演示)
2012/02/03 Javascript
jquery实现无限分级横向导航菜单的方法
2015/03/12 Javascript
AngularJS实现数据列表的增加、删除和上移下移等功能实例
2016/09/05 Javascript
JavaScript中定时控制Throttle、Debounce和Immediate详解
2016/11/17 Javascript
js时间戳和c#时间戳互转方法(推荐)
2017/02/15 Javascript
详解JavaScript对象的深浅复制
2017/03/30 Javascript
javascript 中的继承实例详解
2017/05/05 Javascript
vue中element-ui表格缩略图悬浮放大功能的实例代码
2018/06/26 Javascript
详解VScode编辑器vue环境搭建所遇问题解决方案
2019/04/26 Javascript
element-ui和vue表单(对话框)验证提示语(残留)清除操作
2020/09/11 Javascript
jQuery实现简单轮播图效果
2020/12/27 jQuery
[49:08]OpTic vs Serenity 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
Python中的jquery PyQuery库使用小结
2014/05/13 Python
python实现监控linux性能及进程消耗性能的方法
2014/07/25 Python
Python进程间通信用法实例
2015/06/04 Python
python3实现字符串的全排列的方法(无重复字符)
2018/07/07 Python
PyQt QListWidget修改列表项item的行高方法
2019/06/20 Python
pytorch下使用LSTM神经网络写诗实例
2020/01/14 Python
python实现126邮箱发送邮件
2020/05/20 Python
pytorch加载语音类自定义数据集的方法教程
2020/11/10 Python
使用css3绘制出各种几何图形
2016/08/17 HTML / CSS
中国最大的潮流商品购物网站:YOHO!BUY有货
2017/01/07 全球购物
英国大码女性时装零售商:Evans
2018/08/29 全球购物
世界上最大的隐形眼镜商店:1-800 Contacts
2018/11/03 全球购物
电大自我鉴定
2013/10/27 职场文书
班级体育活动总结
2014/07/05 职场文书
单位法定代表人授权委托书
2014/09/20 职场文书
优秀少先队员事迹材料
2014/12/24 职场文书
本科毕业论文导师评语
2014/12/31 职场文书
违反纪律检讨书范文
2015/05/07 职场文书
尼克胡哲观后感
2015/06/08 职场文书