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学习 变量使用总结
Mar 24 PHP
php存储过程调用实例代码
Feb 03 PHP
基于simple_html_dom的使用小结
Jul 01 PHP
php分页示例分享
Apr 30 PHP
php中限制ip段访问、禁止ip提交表单的代码分享
Aug 22 PHP
php的ZipArchive类用法实例
Oct 20 PHP
支付宝接口开发集成支付环境小结
Mar 17 PHP
WordPress中用于更新伪静态规则的PHP代码实例讲解
Dec 18 PHP
PHP设计模式之迭代器模式
Jun 17 PHP
PHP数组编码gbk与utf8互相转换的两种方法
Sep 01 PHP
老生常谈PHP中的数据结构:DS扩展
Jul 17 PHP
PHP通过curl获取接口URL的数据方法
May 31 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
phpwind中的数据库操作类
2007/01/02 PHP
PHP 正则表达式小结
2015/02/12 PHP
ThinkPHP在Cli模式下使用模板引擎的方法
2015/09/25 PHP
Yii使用Captcha验证码的方法
2015/12/28 PHP
JavaScript中Array 对象相关的几个方法
2006/12/22 Javascript
javascript编程起步(第四课)
2007/01/10 Javascript
javascript学习笔记(七)利用javascript来创建和存储cookie
2011/04/08 Javascript
javascript中如何处理引号编码&amp;#034;
2013/08/15 Javascript
js模拟hashtable的简单实例
2014/03/06 Javascript
JS 弹出层 定位至屏幕居中示例
2014/05/21 Javascript
js实现图片和链接文字同步切换特效的方法
2015/02/20 Javascript
Bootstrap 3的box-sizing样式导致UEditor控件的图片无法正常缩放的解决方案
2016/09/15 Javascript
Angular1.x复杂指令实例详解
2017/03/01 Javascript
AngularJS中使用ngModal模态框实例
2017/05/27 Javascript
nodejs中安装ghost出错的原因及解决方法
2017/10/23 NodeJs
Vue的轮播图组件实现方法
2018/03/03 Javascript
MVVM框架下实现分页功能示例
2018/06/14 Javascript
使用JS判断移动端手机横竖屏状态
2018/07/30 Javascript
jQuery实现的移动端图片缩放功能组件示例
2020/05/01 jQuery
JavaScript async/await原理及实例解析
2020/12/02 Javascript
[11:44]Ti9 OG夺冠时刻
2019/08/25 DOTA
python中sets模块的用法实例
2014/09/30 Python
Python实现保证只能运行一个脚本实例
2015/06/24 Python
python运行其他程序的实现方法
2017/07/14 Python
安装Python的教程-Windows
2017/07/22 Python
CentOS7安装Python3的教程详解
2019/04/10 Python
django解决订单并发问题【推荐】
2019/07/31 Python
代码总结Python2 和 Python3 字符串的区别
2020/01/28 Python
Python 模拟生成动态产生验证码图片的方法
2020/02/01 Python
Python中猜拳游戏与猜筛子游戏的实现方法
2020/09/04 Python
英格兰橄榄球商店:England Rugby Store
2016/12/17 全球购物
工程资料员岗位职责
2014/03/10 职场文书
借款协议书范本
2014/04/22 职场文书
地质灾害防治方案
2014/05/14 职场文书
公司环境卫生管理制度
2015/08/05 职场文书
css3实现背景图片颜色修改的多种方式
2021/04/13 HTML / CSS