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 相关文章推荐
第1次亲密接触PHP5(1)
Oct 09 PHP
php 文章采集正则代码
Dec 28 PHP
PHP中开发XML应用程序之基础篇 添加节点 删除节点 查询节点 查询节
Jul 09 PHP
并发下常见的加锁及锁的PHP具体实现代码
Oct 12 PHP
PHP手机号码归属地查询代码(API接口/mysql)
Sep 04 PHP
PHP之sprintf函数用法详解
Nov 12 PHP
php实现求相对时间函数
Jun 15 PHP
php支持断点续传、分块下载的类
May 02 PHP
PHP中Trait及其应用详解
Feb 14 PHP
基于PHP-FPM进程池探秘
Oct 17 PHP
PHP+Redis开发的书签案例实战详解
Jul 09 PHP
PHP超级全局变量【$GLOBALS,$_SERVER,$_REQUEST等】用法实例分析
Dec 11 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 register_globals 值为on与off的理解
2013/09/26 PHP
php提示Failed to write session data错误的解决方法
2014/12/17 PHP
用php来限制每个ip每天浏览页面数量的实现思路
2015/02/24 PHP
php使用curl伪造浏览器访问操作示例
2019/09/30 PHP
js取值中form.all和不加all的区别介绍
2014/01/20 Javascript
基于NodeJS的前后端分离的思考与实践(六)Nginx + Node.js + Java 的软件栈部署实践
2014/09/26 NodeJs
node.js中的events.emitter.removeAllListeners方法使用说明
2014/12/10 Javascript
JavaSacript中charCodeAt()方法的使用详解
2015/06/05 Javascript
前端微信支付js代码
2016/07/25 Javascript
Javascript实现倒计时(防页面刷新)实例
2016/12/13 Javascript
学习使用Bootstrap页面排版样式
2017/05/11 Javascript
vue滚动轴插件better-scroll使用详解
2017/10/17 Javascript
JS判断用户用的哪个浏览器实例详解
2018/10/09 Javascript
使用 electron 实现类似新版 QQ 的登录界面效果(阴影、背景动画、窗体3D翻转)
2018/10/23 Javascript
nuxt.js中间件实现拦截权限判断的方法
2018/11/21 Javascript
webpack3里使用uglifyjs压缩js时打包报错的解决
2018/12/13 Javascript
详解js创建对象的几种方法及继承
2019/04/12 Javascript
vue ajax 拦截原理与实现方法示例
2019/11/29 Javascript
Vue将props值实时传递 并可修改的操作
2020/08/09 Javascript
Python群发邮件实例代码
2014/01/03 Python
c++生成dll使用python调用dll的方法
2014/01/20 Python
举例讲解Python中装饰器的用法
2015/04/27 Python
两个使用Python脚本操作文件的小示例分享
2015/08/27 Python
python中利用h5py模块读取h5文件中的主键方法
2018/06/05 Python
对Python通过pypyodbc访问Access数据库的方法详解
2018/10/27 Python
python中实现控制小数点位数的方法
2019/01/24 Python
Python3 中作为一等对象的函数解析
2019/12/11 Python
python打印异常信息的两种实现方式
2019/12/24 Python
你需要学会的8个Python列表技巧
2020/06/24 Python
python 6行代码制作月历生成器
2020/09/18 Python
python中最小二乘法详细讲解
2021/02/19 Python
Html5新增标签与样式及让元素水平垂直居中
2019/07/11 HTML / CSS
Boutique 1美国:阿联酋奢侈时尚零售商
2017/10/16 全球购物
日本最佳原创设计品牌:Felissimo(芬理希梦)
2019/03/19 全球购物
个人欠款协议书范本2014
2014/11/02 职场文书
呼啸山庄读书笔记
2015/06/29 职场文书