ThinkPHP实现ajax仿官网搜索功能实例

本文实例讲述了ThinkPHP实现ajax仿官网搜索功能的方法。分享给大家供大家参考。

具体实现方法如下:

后台代码:

//搜索,如果在1不在0  

function search(){  

    $keyword = $_POST['search'];  

    $Goods=M('goods');  

  //这里我做的一个模糊查询到名字或者对应的id,主要目的因为我这个系统是  

  //商城系统里面用到直接看产品ID  

    $map['goods_id|goods_name']  = array('like','%'.$keyword.'%');  

    // 把查询条件传入查询方法  

    if($goods=$Goods->where($map)->select())  

     {  

              $this->ajaxReturn($goods,'查询成功!',1);  

     }else{  

              $this->ajaxReturn($data,"查询失败,数据不存在!",0);  

 }  

}

前端代码:
$(document).ready(function(){  

   $(".show_message").hide();  

   var $search=$('#search_box');  

   $("#submit_from").click(function(){  

    if($("#search_box").attr("value")=='')  

    {  

        //alert('请输入文字!');  

        $(".show_message").html('错误提示:搜索框文本不能为空!');  

        $(".show_message").fadeIn(1000);  

        $(".show_message").fadeOut(1000);  

        $search.focus();  

        //return false;  

    }else{  

        //开始ajax执行数据  

        $.ajax({  

            type: "POST",  

            url:"/index.php/Goods/search",  

            data:{  

                search:$search.val()  

            },  

            dataType: "json",  

            success: function (data) {  

    if (data.status == 1) {  

            //alert(data.info);  

            var html='';  

                    $.each(data.data,function(no,items){      

                    html+='';  

                    });  

                    html+="  

'+items.goods_id+' '+items.goods_name+' '+items.add_time+' '+items.brand+' '+items.price+'";      

                     $(".goods-list").html(' ').html(html);  

                   // alert(html);  

    }  

    else if (data.status == 0) {  

        $(".show_message").show();  

        $(".show_message").html(data.info);  

                    $(".show_message").fadeOut(3000);  

    //    alert(data.info);  

          return false;  

        }  

      }  

         });  

    }  

  });  

});

希望本文所述对大家的ThinkPHP框架程序设计有所帮助。