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 相关文章推荐
BBS(php &amp; mysql)完整版(一)
Oct 09 PHP
PHP高级对象构建 多个构造函数的使用
Feb 05 PHP
PHP中的错误处理、异常处理机制分析
May 07 PHP
php使用base64加密解密图片示例分享
Jan 20 PHP
使用PHP函数scandir排除特定目录
Jun 12 PHP
PHP中一些可以替代正则表达式函数的字符串操作函数
Nov 17 PHP
php实现以只读方式打开文件的方法
Mar 16 PHP
Laravel 5 框架入门(二)构建 Pages 的管理功能
Apr 09 PHP
PHP实现简易blog的制作
Oct 24 PHP
Laravel实现短信注册的示例代码
May 29 PHP
PHP创建对象的六种方式实例总结
Jun 27 PHP
laravel使用redis队列实例讲解
Mar 23 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 setcookie() cannot modify header information 的解决方法
2009/01/09 PHP
PHP 字符串编码截取函数(兼容utf-8和gb2312)
2009/05/02 PHP
解析PHP 5.5 新特性
2013/07/02 PHP
简单谈谈php中的unicode和utf8编码
2015/06/10 PHP
php防止用户重复提交表单
2015/11/02 PHP
php技巧小结【推荐】
2017/01/19 PHP
小议Function.apply()之二------利用Apply的参数数组化来提高 JavaScript程序性能
2006/11/30 Javascript
javascript 循环读取JSON数据的代码
2010/07/17 Javascript
jquery实现文本框鼠标右击无效以及不能输入的代码
2010/11/05 Javascript
使用jQuery和PHP实现类似360功能开关效果
2014/02/12 Javascript
使用GruntJS构建Web程序之合并压缩篇
2014/06/06 Javascript
JavaScript常用的返回,自动跳转,刷新,关闭语句汇总
2015/01/13 Javascript
JavaScript改变CSS样式的方法汇总
2015/05/07 Javascript
举例简介AngularJS的内部语言环境
2015/06/17 Javascript
nodejs爬虫抓取数据之编码问题
2015/07/03 NodeJs
JS字符串按逗号和回车分隔的方法
2017/04/25 Javascript
使用Vue开发动态刷新Echarts组件的教程详解
2018/03/22 Javascript
详解vue-cli 脚手架 安装
2019/04/16 Javascript
python使用7z解压apk包的方法
2015/04/18 Python
python使用pil生成图片验证码的方法
2015/05/08 Python
Python的Tornado框架实现图片上传及图片大小修改功能
2016/06/30 Python
python验证码识别教程之灰度处理、二值化、降噪与tesserocr识别
2018/06/04 Python
selenium与xpath之获取指定位置的元素的实现
2021/01/26 Python
纯CSS和jQuery实现的在页面顶部显示的进度条效果2例(仿手机浏览器进度条效果)
2014/04/16 HTML / CSS
汤米巴哈马官方网站:Tommy Bahama
2017/05/13 全球购物
MCAKE蛋糕官方网站:一直都是巴黎的味道
2018/02/06 全球购物
Hunkemöller西班牙:欧洲最大的内衣连锁店
2018/08/15 全球购物
物流管理毕业生自荐信
2013/10/24 职场文书
小学教师寄语大全
2014/04/03 职场文书
党员个人对照检查材料
2014/10/01 职场文书
2014小学二年级班主任工作总结
2014/12/05 职场文书
乡镇一岗双责责任书
2015/01/29 职场文书
学习雷锋精神活动总结
2015/02/06 职场文书
实用求职信模板范文
2019/05/13 职场文书
学会掌握自己命运的十条黄金法则:
2019/08/08 职场文书
pd.drop_duplicates删除重复行的方法实现
2022/06/16 Python