使用ajax根据搜索显示结果?

时间:2014-01-08 15:02:54

标签: javascript php jquery sql ajax

目前,我有一个php页面,显示了从我的sql数据库中获取的结果列表。它显示ID和名称。

我在顶部搜索只搜索“名称”字段中的关键字,然后如果点击搜索,则会转到新页面,显示您搜索过的结果。

我要做的是让它变为异步,所以当我搜索“让我们说”“伦敦”时,它只显示其中包含关键字London的结果,但是在同一页面上。

我的搜索按钮代码:

    <input type="button" class="search" value= "Search">

我尝试使用Ajax代码使其异步:

 $(document).ready(function() {
 $(".search").each(function() {
 var btn = $(this);
 btn.on("click", function(){
 $.post("searchresults.php",
 function(data){
 .append(data);}
 }}})

我是新手,如果这是一个愚蠢的错误,请道歉。我的searchresults.php只有SELECT * FROM属性WHERE等。然后它回显结果。

感谢。

2 个答案:

答案 0 :(得分:0)

您需要在页面上放置一些能够保存搜索结果的元素,例如

<div id="result"></div>

然后在.post()调用中,您将拥有一个

的结果处理程序
function (results) {
    $('#result').text(results);
}

你究竟如何实际插入/显示数据取决于你 - 你的PHP脚本可以发送一个完整的html片段,或者一个漂亮的JSON编码数据结构,你的JS构建结果等等......这只是一个简单的脑死亡“这里有一些结果数据并按原样显示”。

答案 1 :(得分:0)

//单击按钮时调用的函数

function getData(){

    //declare any vars you want here
    var variable1='variable1Content';
    var variable2='variable2Content';

    //Post some data to your php script without reloading the page
    $.post('getData.php',{var1:variable1,var2:variable2},function(data){ 

        $("#targetDiv").empty().append(data);
    });
}

数据是php脚本的响应(在这种情况下可能是html代码)

var1&amp; var2是您在PHP脚本中的$ _POST vars中找到的名称

“targetDiv”是您将放置内容的目标div的ID。

查询在您的php脚本中完成。