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 相关文章推荐
php4的session功能评述(一)
Oct 09 PHP
php.ini修改php上传文件大小限制的方法详解
Jun 17 PHP
php防止sql注入示例分析和几种常见攻击正则表达式
Jan 12 PHP
php中call_user_func函数使用注意事项
Nov 21 PHP
用PHP代码给图片加水印
Jul 01 PHP
PHP.vs.JAVA
Apr 29 PHP
PHP中读取文件的几个方法总结(推荐)
Jun 03 PHP
PHP时间戳格式全部汇总 (获取时间、时间戳)
Jun 13 PHP
PHP正则匹配日期和时间(时间戳转换)的实例代码
Dec 14 PHP
PHP扩展mcrypt实现的AES加密功能示例
Jan 29 PHP
PHP命名空间(namespace)原理与用法详解
Dec 11 PHP
PHP 数组操作详解【遍历、指针、函数等】
May 13 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
set_include_path在win和linux下的区别
2008/01/10 PHP
PHP使用mysql_fetch_row查询获得数据行列表的方法
2015/03/18 PHP
Yii2框架制作RESTful风格的API快速入门教程
2016/11/08 PHP
详解PHP如何更好的利用PHPstorm的自动提示
2017/08/18 PHP
javascript Select标记中options操作方法集合
2008/10/22 Javascript
javascript操作cookie的文章(设置,删除cookies)
2010/04/01 Javascript
JavaScript使用IEEE 标准进行二进制浮点运算产生莫名错误的解决方法
2011/05/28 Javascript
JS幻灯片可循环播放可平滑旋转带滚动导航(自写)
2013/08/05 Javascript
JS+CSS实现可以凹陷显示选中单元格的方法
2015/03/02 Javascript
JS常见创建类的方法小结【工厂方式,构造器方式,原型方式,联合方式等】
2017/04/01 Javascript
详解Vue.js 2.0 如何使用axios
2017/04/21 Javascript
简单实现jQuery弹窗效果
2017/10/30 jQuery
JS使用正则表达式实现常用的表单验证功能分析
2020/04/30 Javascript
[52:15]2014 DOTA2国际邀请赛中国区预选赛5.21 HGT VS LGD-GAMING
2014/05/23 DOTA
使用Python编写爬虫的基本模块及框架使用指南
2016/01/20 Python
python3实现暴力穷举博客园密码
2016/06/19 Python
python设计模式大全
2016/06/27 Python
使用Python编写一个最基础的代码解释器的要点解析
2016/07/12 Python
在Python中实现shuffle给列表洗牌
2018/11/08 Python
python pandas库的安装和创建
2019/01/10 Python
Python 获取 datax 执行结果保存到数据库的方法
2019/07/11 Python
Django实现列表页商品数据返回教程
2020/04/03 Python
CSS3教程(7):CSS3嵌入字体
2009/04/02 HTML / CSS
css3 利用transform打造走动的2D时钟
2020/10/20 HTML / CSS
竞选体育委员演讲稿
2014/04/26 职场文书
社区服务活动总结
2014/05/07 职场文书
汉语专业毕业生自荐信
2014/07/06 职场文书
公司外出活动方案
2014/08/14 职场文书
党员三严三实对照检查材料
2014/10/13 职场文书
2014大学班主任工作总结
2014/11/08 职场文书
2014五年级班主任工作总结
2014/12/05 职场文书
母亲节感言
2015/08/03 职场文书
高中诗歌鉴赏教学反思
2016/02/16 职场文书
人身损害赔偿协议书
2016/03/22 职场文书
浅谈JavaScript作用域
2021/12/06 Javascript
简单聊一聊SQL注入及防止SQL注入
2022/03/23 MySQL