这篇文章主要介绍了ThinkPHP实现ajax仿官网搜索功能的方法,实例演示了后台查询功能与前台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框架程序设计有所帮助。