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

这篇文章主要介绍了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. }
  15. }

前端代码:

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