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 相关文章推荐
简单的过滤字符串中的HTML标记
Dec 25 PHP
有关 PHP 和 MySQL 时区的一点总结
Mar 26 PHP
ThinkPHP php 框架学习笔记
Oct 30 PHP
php 批量生成html,txt文件的实现代码
Jun 26 PHP
php自定义的格式化时间示例代码
Dec 05 PHP
php递归法读取目录及文件的方法
Jan 30 PHP
php实现encode64编码类实例
Mar 24 PHP
PHP传参之传值与传址的区别
Apr 24 PHP
Yii开启片段缓存的方法
Mar 28 PHP
Yii2中使用join、joinwith多表关联查询
Jun 30 PHP
thinkPHP+LayUI 流加载实现功能
Sep 27 PHP
php 解析非标准json、非规范json
Apr 01 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 地址栏信息的获取代码
2009/01/07 PHP
php下使用strpos需要注意 === 运算符
2010/07/17 PHP
flash用php连接数据库的代码
2011/04/21 PHP
PHP sprintf() 函数的应用(定义和用法)
2012/06/29 PHP
PHP执行系统命令函数实例讲解
2021/03/03 PHP
JavaScipt基本教程之前言
2008/01/16 Javascript
javascript获取设置div的高度和宽度兼容任何浏览器
2013/09/22 Javascript
jquery数组封装使用方法分享(jquery数组遍历)
2014/03/25 Javascript
jQuery中extend函数详解
2015/02/13 Javascript
基于JS实现发送短信验证码后的倒计时功能(无视页面刷新,页面关闭不进行倒计时功能)
2016/09/02 Javascript
JS敏感词过滤代码
2016/12/23 Javascript
JS中使用textPath实现线条上的文字
2017/12/25 Javascript
小程序自定义单页面、全局导航栏的实现代码
2019/03/15 Javascript
Vue2.0实现简单分页及跳转效果
2019/07/29 Javascript
基于JQuery实现页面定时弹出广告
2020/05/08 jQuery
[01:21]DOTA2新纪元-7.0新版本即将开启!
2016/12/11 DOTA
Python内置数据类型详解
2014/08/18 Python
用python实现k近邻算法的示例代码
2018/09/06 Python
使用Python实现租车计费系统的两种方法
2018/09/29 Python
Django REST framework 分页的实现代码
2019/06/19 Python
python 一个figure上显示多个图像的实例
2019/07/08 Python
Python的垃圾回收机制详解
2019/08/28 Python
Python求正态分布曲线下面积实例
2019/11/20 Python
tensorflow生成多个tfrecord文件实例
2020/02/17 Python
关于Python字符串显示u...的解决方式
2020/03/06 Python
幼儿教师自我鉴定
2013/11/02 职场文书
小学教师师德反思
2014/02/03 职场文书
户外宣传策划方案
2014/05/25 职场文书
电子商务系毕业生自荐信
2014/05/29 职场文书
12.4全国法制宣传日活动总结
2014/11/01 职场文书
服务明星事迹材料
2014/12/29 职场文书
个人业务学习心得体会
2016/01/25 职场文书
2019单位介绍信怎么写
2019/06/24 职场文书
详解redis在微服务领域的贡献
2021/10/16 Redis
世界十大狙击步枪排行榜
2022/03/20 杂记
MySQL中order by的执行过程
2022/06/05 MySQL