如何使用AJAX从数据库接收数据

时间:2012-04-20 11:00:50

标签: php html ajax

我在网页中使用了评论框并保存了用户输入评论。现在我想要的是使用AJAX显示它们。我设置了一个javascript计时器来逐个获得评论。但我不知道如何使用AJAX来检索数据。这是php文件

<?php
$link = mysql_connect("localhost","root","");
mysql_select_db("continental_tourism");
$query = "SELECT comment_id from comment";
$result = mysql_query($query);
$counter = 0;
while ($row = mysql_fetch_assoc($result))
{
$counter++;
} 

$comment_number = rand(1,$counter);
$query_comment = mysql_query("SELECT * FROM comment WHERE comment_id = '$comment_number'");
if (!$query_comment) { 
die('Invalid query: ' . mysql_error());
}   
while($result_comment = mysql_fetch_array($query_comment)) {

echo $result_comment['comment'];

}
?>

以下是主文件中的脚本部分。

function timeMsg()
{
var t=setTimeout("show_comment()",3000);
}

function show_comment(){

}

我应该如何编写AJAX代码?

  

function show_comment()

如果有人可以逐行解释AJAX代码,我会非常满意。

2 个答案:

答案 0 :(得分:2)

你必须将你的所有php脚本移动到另一个php文件,例如getdata.php,并在你想要显示数据的文件中使用你的ajax函数,说它是index.php。 (这是为了易于使用的代码)。现在你的index.php文件应该看起来像

<html>
  <body>
    <div id="comments"></div>
  </body>
  <script src="include/jquery.js" type="text/javascript"></script>
  <script type="text/javascript>
    function show_comments() {
         $.ajax({
            url:getdata.php
            success:function(data){
               $("#comments").append(data);
            }
         }); 
  </script>
 </html>

我正在使用jquery的jquery.ajax函数。这是一些暗示如何做到这一点。我希望它能帮助你完成任务。

答案 1 :(得分:1)

使用jQuery的.get()方法,使用PHP脚本的链接作为URL。那应该调用你的PHP脚本,你的脚本应该回显输出。

你应该在回复之前考虑json_encode来自php脚本的输出。

而且我认为,而不是这样做 -

$query = "SELECT comment_id from comment";
$result = mysql_query($query);
$counter = 0;
while ($row = mysql_fetch_assoc($result))
{
$counter++;
} 

您可以查询SELECT COUNT(comment_id) from comment并获取计数。