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 09 PHP
使用无限生命期Session的方法
Oct 09 PHP
如何做到多笔资料的同步
Oct 09 PHP
部署PHP项目应该注意的几点事项分享
Dec 20 PHP
PHP 函数call_user_func和call_user_func_array用法详解
Mar 02 PHP
PHP动态页生成静态页的3种常用方法
Nov 13 PHP
php计算title标题相似比的方法
Jul 29 PHP
WordPress主题制作中自定义头部的相关PHP函数解析
Jan 08 PHP
Yii 2.0如何使用页面缓存方法示例
May 23 PHP
关于php支持的协议与封装协议总结(推荐)
Nov 17 PHP
PHP实现的mongoDB数据库操作类完整实例
Apr 10 PHP
php获取微信openid方法总结
Oct 10 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
仿Aspnetpager的一个PHP分页类代码 附源码下载
2012/10/08 PHP
php使用标签替换的方式生成静态页面
2015/05/21 PHP
PHP弹出对话框技巧详细解读
2015/09/26 PHP
JS常用字符串处理方法应用总结
2014/05/22 Javascript
jQuery实现倒计时按钮功能代码分享
2014/09/03 Javascript
JavaScript简单遍历DOM对象所有属性的实现方法
2015/10/21 Javascript
IE6-IE9使用JSON、table.innerHTML所引发的问题
2015/12/22 Javascript
Angular.js实现多个checkbox只能选择一个的方法示例
2017/02/24 Javascript
jQuery实现拖动效果的实例代码
2017/06/25 jQuery
使用Vuex实现一个笔记应用的方法
2018/03/13 Javascript
深入浅出了解Node.js Streams
2019/05/27 Javascript
bootstrap table.js动态填充单元格数据的多种方法
2019/07/18 Javascript
关于vue利用postcss-pxtorem进行移动端适配的问题
2019/11/20 Javascript
js实现内置计时器
2019/12/16 Javascript
web.py 十分钟创建简易博客实现代码
2016/04/22 Python
使用 Python 玩转 GitHub 的贡献板(推荐)
2019/04/04 Python
Python画图实现同一结点多个柱状图的示例
2019/07/07 Python
如何利用python给图片添加半透明水印
2019/09/06 Python
Python使用sqlite3模块内置数据库
2020/05/07 Python
opencv之颜色过滤只留下图片中的红色区域操作
2020/06/05 Python
Python 抓取数据存储到Redis中的操作
2020/07/16 Python
Html5+CSS3+EL表达式问题小结
2020/12/19 HTML / CSS
What's the difference between an interface and abstract class? (接口与抽象类有什么区别)
2012/10/29 面试题
大一学生的职业生涯规划书范文
2014/01/19 职场文书
毕业寄语大全
2014/04/09 职场文书
教师考核评语
2014/04/28 职场文书
希特勒的演讲稿
2014/05/23 职场文书
计算机毕业生求职信
2014/06/10 职场文书
证劵公司反洗钱宣传活动总结
2015/05/08 职场文书
原告代理词范文
2015/05/25 职场文书
烛光里的微笑观后感
2015/06/17 职场文书
2019年员工晋升管理制度范本!
2019/07/08 职场文书
Python爬虫中urllib3与urllib的区别是什么
2021/07/21 Python
讲解MySQL增删改操作
2022/05/06 MySQL
NoSQL优缺点与MongoDB数据库简介
2022/06/05 MongoDB
腾讯云服务器部署前后分离项目之前端部署
2022/06/28 Servers