当前位置:首页 > CMS教程 > Thinkphp > 列表

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

发布:smiling 来源: PHP粉丝网  添加日期:2021-05-02 20:24:04 浏览: 评论:0 

这篇文章主要介绍了ThinkPHP实现ajax仿官网搜索功能的方法,实例演示了后台查询功能与前台Ajax提交搜索数据的方法,是非常实用的技巧,需要的朋友可以参考下

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

具体实现方法如下:

后台代码:

  1. //搜索,如果在1不在0  
  2. function search(){  
  3.     $keyword = $_POST['search'];  
  4.     $Goods=M('goods');  
  5.   //这里我做的一个模糊查询到名字或者对应的id,主要目的因为我这个系统是  
  6.   //商城系统里面用到直接看产品ID  
  7.     $map['goods_id|goods_name']  = array('like','%'.$keyword.'%');  
  8.     // 把查询条件传入查询方法  
  9.     if($goods=$Goods->where($map)->select())  
  10.      {  
  11.               $this->ajaxReturn($goods,'查询成功!',1);  
  12.      }else{  
  13.               $this->ajaxReturn($data,"查询失败,数据不存在!",0);  
  14.  }  

前端代码:

  1. $(document).ready(function(){  
  2.    $(".show_message").hide();  
  3.    var $search=$('#search_box');  
  4.    $("#submit_from").click(function(){  
  5.     if($("#search_box").attr("value")=='')  
  6.     {  
  7.         //alert('请输入文字!');  
  8.         $(".show_message").html('错误提示:搜索框文本不能为空!');  
  9.         $(".show_message").fadeIn(1000);  
  10.         $(".show_message").fadeOut(1000);  
  11.         $search.focus();  
  12.         //return false;  
  13.     }else{  
  14.         //开始ajax执行数据  
  15.         $.ajax({  
  16.             type: "POST",  
  17.             url:"/index.php/Goods/search",  
  18.             data:{  
  19.                 search:$search.val()  
  20.             },  
  21.             dataType: "json",  
  22.             success: function (data) {  
  23.     if (data.status == 1) {  
  24.             //alert(data.info);  
  25.             var html='';  
  26.                     $.each(data.data,function(no,items){      
  27.                     html+='';  
  28.                     });  
  29.                     html+="  
  30. '+items.goods_id+' '+items.goods_name+' '+items.add_time+' '+items.brand+' '+items.price+'";      
  31.                      $(".goods-list").html(' ').html(html);  
  32.                    // alert(html);  
  33.     }  
  34.     else if (data.status == 0) {  
  35.         $(".show_message").show();  
  36.         $(".show_message").html(data.info);  
  37.                     $(".show_message").fadeOut(3000);  
  38.     //    alert(data.info);  
  39.           return false;  
  40.         }  
  41.       }  
  42.          });  
  43.     }  
  44.   });  
  45. }); 

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

Tags: ThinkPHP官网搜索 ajax仿官网搜索

分享到: