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
在线短消息收发的程序,不用数据库
Oct 09 PHP
php4的彩蛋
Oct 09 PHP
php include,include_once,require,require_once
Sep 05 PHP
php中cookie的使用方法
Mar 29 PHP
php使用curl存储cookie的示例
Mar 31 PHP
Thinkphp实现自动验证和自动完成
Dec 19 PHP
Yii2 rbac权限控制之rule教程详解
Jun 23 PHP
详解PHP中websocket的使用方法
Sep 15 PHP
php插入含有特殊符号数据的处理方法
Nov 24 PHP
PHP isset empty函数相关面试题及解析
Dec 11 PHP
php中pcntl_fork详解
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
基于HBase Thrift接口的一些使用问题及相关注意事项的详解
2013/06/03 PHP
使用PHP获取汉字的拼音(全部与首字母)
2013/06/27 PHP
使用phpexcel类实现excel导入mysql数据库功能(实例代码)
2016/05/12 PHP
[原创]PHP实现生成vcf vcard文件功能类定义与使用方法详解【附demo源码下载】
2017/09/02 PHP
Javascript实现Array和String互转换的方法
2015/12/21 Javascript
JavaScript实现图片瀑布流和底部刷新
2017/01/02 Javascript
原生JS实现图片无缝滚动方法(附带封装的运动框架)
2017/10/01 Javascript
jQuery实现通过方向键控制div块上下左右移动的方法【测试可用】
2018/04/26 jQuery
vue项目使用axios发送请求让ajax请求头部携带cookie的方法
2018/09/26 Javascript
详解Vue.directive 自定义指令
2019/03/27 Javascript
webpack4实现不同的导出类型
2019/04/09 Javascript
js实现百度淘宝搜索功能
2020/02/17 Javascript
ES6函数和数组用法实例分析
2020/05/23 Javascript
详解在IDEA中将Echarts引入web两种方式(使用js文件和maven的依赖导入)
2020/07/11 Javascript
Linux中安装Python的交互式解释器IPython的教程
2016/06/13 Python
Python使用Matplotlib实现雨点图动画效果的方法
2017/12/23 Python
python中类的输出或类的实例输出为这种形式的原因
2019/08/12 Python
python 字符串常用函数详解
2019/09/11 Python
Python ini文件常用操作方法解析
2020/04/26 Python
Python装饰器结合递归原理解析
2020/07/02 Python
在Python3.74+PyCharm2020.1 x64中安装使用Kivy的详细教程
2020/08/07 Python
纯CSS3实现圆角效果(含IE兼容解决方法)
2014/05/07 HTML / CSS
css sprite简单实例
2016/05/23 HTML / CSS
CSS3的calc()做响应模式布局的实现方法
2017/09/06 HTML / CSS
纯HTML5+CSS3制作生日蛋糕代码
2016/11/16 HTML / CSS
详解HTML5常用的语义化标签
2019/09/27 HTML / CSS
运动鞋、足球鞋和慕尼黑球衣:Sport Münzinger
2019/08/26 全球购物
网友共享的几个面试题关于Java和Unix等方面的
2016/09/08 面试题
什么是servlet
2012/05/08 面试题
新领导上任欢迎词
2014/01/13 职场文书
买房子个人收入证明
2014/01/16 职场文书
2014年自愿离婚协议书范本
2014/09/25 职场文书
篮球友谊赛通讯稿
2014/10/10 职场文书
项目备案申请报告
2015/05/15 职场文书
党支部半年考察意见
2015/06/01 职场文书
我的长征观后感
2015/06/09 职场文书