搜索功能的实现

搜索功能还是存在bug,在搜索后点击下一也又变成了全文搜索

//首页方法
    public function index()
    {
        //设置全局条件查询
        $map = [];//将所有的查询条件封装到这个数组
        //条件1
        $map[] = ['status','=',1];//这里的等号不能省略
        //实现搜索功能
        $keywords = Request::param('keywords');
        if(!empty($keywords)){
            //条件2
            $map[] = ['title','like','%'.$keywords.'%'];
        }
        //分类信息显示  从url发送到 控制器中获取参数
       $cateId =  Request::param('cate_id');
       //如果存在这个分类id
        if(isset($cateId)){
            //条件3
            $map[] = ['category_id','=',$cateId];
            $res = ArticleCategory::get($cateId);
            $artList = Db::table('zh_article')
                ->where($map)
                ->order('create_time','desc')->paginate(1);

            //分配到首页模板中
            $this->view->assign('cateName',$res->name);
        }else{
            $this->view->assign('cateName','全部文章');
            $artList = Db::table('zh_article')->where($map)
                ->order('create_time','desc')->paginate(1);
        }

        //列表信息的分页显示
        //通过模型获取数据  方法一:与闭包相似
        /*if(isset($cateId)){
            $artList = Db::table('zh_article')->where('status',1)
                ->where('category_id',$cateId)
                ->order('create_time','desc')->paginate(1);
        }else{
            $artList = Db::table('zh_article')->where('status',1)
                ->order('create_time','desc')->paginate(1);
        }*/
        $this->view->assign('empty','<h3>没有文章</h3>');
        $this->view->assign('artList',$artList);
        return $this->fetch('index',['title'=>'社区问答']);
    }

前端搜索功能

<form class="navbar-form navbar-left" action="{:url('index/index')}" method="get">
  <div class="form-group">
       <input type="text" name="keywords" class="form-control" placeholder="请输入关键字">
   </div>
   <button type="submit" class="btn btn-default">搜索</button>
</form>

当查询不到数据时,前端模板变量会因为没有值而报错的情况,处理情况为

$this->view->assign('empty','<h3>没有文章</h3>');
{volist name="artList" id="art" empty="$empty"}
<div>
    <img class="img-rounded" src="http://localhost/zh/public/uploads/{$art.title_img}" style="margin-right: 40px;float: left;width: 100px;height: 85px">
    <div style="float: left;width: 80%;">
        <h4><a href="">{$art.title}</a></h4>
        <p>发布者:{$art.user_id|getUserName} &nbsp;&nbsp;&nbsp;&nbsp;发布时间:{$art.create_time|date='Y-m-d'}</p>
        <div>{$art.content|getArtContent}</div>
        <hr>
    </div>
</div>
{/volist}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值