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基础知识:类与对象(2) 自动加载对象
Dec 13 PHP
openPNE常用方法分享
Nov 29 PHP
PHP解析html类库simple_html_dom的转码bug
May 22 PHP
Laravel 5框架学习之Laravel入门和新建项目
Apr 07 PHP
PHP将页面中点击数量高的链接进行高亮显示的方法
May 30 PHP
PHP读取大文件末尾N行的高效方法推荐
Jun 03 PHP
PHP里面把16进制的图片数据显示在html的img标签上(实现方法)
May 02 PHP
利用php操作memcache缓存的基础方法示例
Aug 02 PHP
PHP递归实现汉诺塔问题的方法示例
Nov 25 PHP
PHP 多任务秒级定时器的实现方法
May 13 PHP
PHP _construct()函数讲解
Feb 03 PHP
在laravel-admin中列表中禁止某行编辑、删除的方法
Oct 03 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上传文件问题汇总
2015/01/30 PHP
TP(thinkPHP)框架多层控制器和多级控制器的使用示例
2018/06/13 PHP
用javascript动态调整iframe高度的方法
2007/03/06 Javascript
SlideView 图片滑动(扩展/收缩)展示效果
2010/08/01 Javascript
js中的string.format函数代码
2020/08/11 Javascript
利用JS判断用户是否上网(连接网络)
2013/12/23 Javascript
JS中判断JSON数据是否存在某字段的方法
2014/03/07 Javascript
node.js中的fs.realpathSync方法使用说明
2014/12/16 Javascript
js判断日期时间有效性的方法
2015/10/24 Javascript
jQuery实现批量判断表单中文本框非空的方法(2种方法)
2015/12/09 Javascript
AngularJS入门(用ng-repeat指令实现循环输出
2016/05/05 Javascript
jQuery中slidedown与slideup方法用法示例
2016/09/16 Javascript
Vue数据驱动模拟实现4
2017/01/12 Javascript
fullPage.js和CSS3实现全屏滚动效果
2017/05/05 Javascript
浅谈webpack打包生成的bundle.js文件过大的问题
2018/02/22 Javascript
详解node.js 下载图片的 2 种方式
2018/03/02 Javascript
简单介绍Python中的struct模块
2015/04/28 Python
编写Python脚本来实现最简单的FTP下载的教程
2015/05/04 Python
Python字符串处理实例详解
2017/05/18 Python
VTK与Python实现机械臂三维模型可视化详解
2017/12/13 Python
python批量替换页眉页脚实例代码
2018/01/22 Python
python学习入门细节知识点
2018/03/29 Python
基于python-opencv3的图像显示和保存操作
2019/06/27 Python
Numpy数组array和矩阵matrix转换方法
2019/08/05 Python
python 实现屏幕录制示例
2019/12/23 Python
Python post请求实现代码实例
2020/02/28 Python
当当网官方旗舰店:中国图书销售夺金品牌
2018/04/02 全球购物
Senreve官网:美国旧金山的奢侈手袋品牌
2019/03/21 全球购物
心得体会开头
2014/01/01 职场文书
体育运动会广播稿
2014/10/05 职场文书
构建和谐校园倡议书
2015/01/19 职场文书
针对吵架老公保证书
2015/05/08 职场文书
入党宣誓仪式主持词
2015/06/29 职场文书
2016党员干部廉洁自律心得体会
2016/01/13 职场文书
创业方案:赚钱的烧烤店该怎样做?
2019/07/05 职场文书
PHP RabbitMQ消息列队
2022/05/11 PHP