如何使用$ .ajax返回MySQL查询结果

时间:2014-02-18 00:17:51

标签: javascript php mysql sql ajax

我正在尝试更新是一个javascript,当你将鼠标悬停在图像上时,div对象会在您的鼠标附近浮动信息,此信息将作为数组存储在.js文件中,

例如

Text[0]=["image 1","data 1"]
Text[1]=["image 2","data 2"]

过去,如果此数组是更改/数据添加到/从中删除,则需要上传.js文件的新副本,如果向其添加/删除数据,则还需要更改.dwt文件对于新图像,它将更新使用.dwt文件作为主模板的每个文件,这可能导致20多个页面被上传

我认为我可以通过使用数据库来标记记录,如果它们是活动的,并使用mysql查询只获取活动的那些,这样一个黑暗的应用程序可以添加到数据库并停用记录,从而消除了必须自动化每次上传文件都会变得柔和。

要做到这一点,我已经计划将信息存储在数据库中并根据结果构建上面的数组,研究如何在javascript中使用mysql查询引导我这样的代码

$.ajax( "path/to/your.php" )
    .done(function() { alert("success"); })
    .fail(function() { alert("error"); })

现在我知道我需要制作一个运行我的查询的.php文件,并且我的查询结果格式化为.done部分中的一个,但我不明白的是什么我应该在.php文件中输出查询结果如何在.done部分我应该引用输出

bellow是我用来将我的查询结果回显到页面的代码,以确保我得到结果

$resultIndex = 0

while($row = $results->fetch_array(MYSQLI_ASSOC))
{
    echo '<'.strval($resultIndex).'><br>';
    echo 'id = 'strval($row['id']).'<br>';
    echo 'name = 'strval($row['name']).'<br>';
    echo 'desc = 'strval($row['desc']).'<br>';
    echo 'active = 'strval($row['active']).'<br>';
    echo '-----------------------<br>';
    $resultIndex += 1;
}

我想知道两件事

  1. 我只是echoprint_r我想从.php文件中返回的内容

  2. 如何在.done

  3. 中访问我的.php文件返回的内容

2 个答案:

答案 0 :(得分:1)

您的$ .ajax函数只指向一个页面并读取该页面上的数据。如果您希望该页面使用MySQL,则需要使用php来设置MySQL查询并打印数据。 Web应用程序的层次很复杂,但我会尝试为您分解它。

传统的php / mysql设置如下:

  • 使用Javascript:
    • 客户端,仅处理页面上已有的内容。通常根据用户交互编辑html。
  • HTML
    • 客户端,定义页面上的内容
  • PHP
    • 服务器端,在服务器上运行并构造html
  • MYSQL
    • 服务器端,用于在php和数据库之间进行通信
  • 数据库
    • 服务器端,用于永久存储数据

Ajax是Javascript层在后台调用某些php的一种方式。 php可以使用MySQL访问数据库中的数据,并以javascript可以解析和使用的格式打印出来。通常,javascript将编辑HTML。

答案 1 :(得分:1)

我建议使用http://www.php.net/json_encode输出到Json。是的,只需回显输出。成功时,将使用来自服务器的数据调用回调。

$.post (url, function (data){
    //do some stuff with data from server
});

请参阅http://api.jquery.com/jQuery.post/