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框架程序设计有所帮助 。