搜索框(Thinkphp5.0)

Posted 程序猿的猫

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了搜索框(Thinkphp5.0)相关的知识,希望对你有一定的参考价值。

1.普通关键词搜索框

   模板部分代码:

<form name=‘searchform‘ action=‘/index.php/module/controller/search‘ method=‘get‘>

 <input name=‘keyword‘ type=‘text‘ value=‘<?php echo input(‘get.keyword‘);?>‘ class=‘input-text‘ />

 <input type=‘submit‘ name=‘search‘ class=‘button‘ vlalue=‘<?php echo lang(‘search‘)?>‘ />

 </form>

 <div class=‘‘>相似用户名:{$list[‘name‘];}</div>

    控制器部分代码:

function search(){

    $keyword  = isset($_GET[‘keyword‘])?$_GET[‘keyword‘] : ‘‘;

    if($keyword){

       $where[‘name‘] = [‘like‘,‘%‘.$keyword.‘%‘];

    }

     $list = Db::name(‘datatable‘)->where($where)->order(‘id DESC‘)->select();

     $this->assign(‘list‘,$list);

     return $this->fetch(‘‘);

}

2.有关键词提示的输入框

   模板部分代码:

<input type=text id=txtkey>

<ul class=‘list‘></ul>

 

<script>

$(‘#txtkey‘).on(‘keyup‘,function(){

    var key = $(this).val();

    $(‘.list‘).empty();

    showmodLoading();

    var s=‘‘;

    $.get(‘/index.php/module/controller/method‘,{key:encodeURI($(‘#txtkey‘).val())},function(data){

            if(data.data){

               $.each(data.data,function(k,v){

               s+=‘<li data-id="‘+v.userid+‘" onclick="selitem(\‘‘+v.userid+‘\‘,\‘‘+v.nickname+‘\‘)">‘+v.nickname+‘</option>‘;

                })

              }

     $(‘.list‘).append(s);

     $(‘.list‘).show();

     modLoaded();

     $(document).one(‘click‘,function(){

           $(‘.list‘).hide();

     })

     })

});

function selitem(id,name)

{

     $(‘#ry‘).append(‘<option value="‘+id+‘">‘+name+‘</option>);

}

$(‘#dosubmit‘).on(‘click‘,function(){

$(‘#ry option‘).each(function(){

$(this).attr(‘selected‘,‘true‘);

});

});

</script>

    控制器部分代码:

  public function search()

 {

     $key = input(‘get.key‘);

     $datas = Db::name(‘table‘)->field(‘name‘)->where(array(‘nickname|username‘=>array(‘like‘,‘%‘.$key.‘%‘)))->select();

     return  (array(‘status‘=>1,‘data‘=>datas));

  }

以上是关于搜索框(Thinkphp5.0)的主要内容,如果未能解决你的问题,请参考以下文章

ThinkPHP5.0.x SQL注⼊

关于ThinkPHP5.0的渲染模板输出

thinkphp5.0.5怎么自定义命名上传文件

ThinkPHP5.0.x 反序列化

thinkPHP5.0 底层运行流程简介图例

thinkphp5.0.7 &===composer更新===& thinkphp5.0.9 debug “controller not found”(示例代码