2012-04-20 33 views
0

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

<?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代码写入?

功能show_comment()

如果有人可以解释以线AJAX代码行,我将是伟大的充满。

+1

JQuery呢? – rkosegi 2012-04-20 11:01:59

+1

你需要的一切:http://api.jquery.com/jQuery.ajax/ – p0rter 2012-04-20 11:03:35

+0

首先尝试在自己的东西,有很多例子,只是谷歌,还使用jQuery将是最好的 – 2012-04-20 11:03:48

回答

2

你有你的所有PHP脚本移动到另一个PHP文件说,访问getdata.php和要显示的数据说,这是index.php文件使用ajax的功能在您的文件。 (这是易于使用的代码)。现在你的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.ajax的jQuery的功能。这是一些暗示你如何做到这一点。我希望它能帮助你完成你的任务。

+0

我需要在div中显示注释。这是在同一个index.php。我怎样才能做到这一点? – Ravindu 2012-04-20 11:24:41

+0

功能timeMsg() { 变种T = setTimeout的( “show_comment()”,3000); } 功能show_comments(){$ 阿贾克斯({ 网址: “show_comment.php”, 成功:功能(数据){ $( “#注释”)。追加(数据); } }); – Ravindu 2012-04-20 11:27:03

+0

我可以使用onload()吗? – Ravindu 2012-04-20 11:32:50

1

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

你应该考虑json_encode呼应前-ing从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并获得计数。

+0

但是在我的.php文件中,我使用了更多的echo命令。那么,我该如何选择正确的一个,我需要显示评论? – Ravindu 2012-04-20 11:09:25

+0

要与AJAX一起使用,您需要注意回声。我建议你把所有的数据放在一个数组中,'json_encode()',然后回显编码的字符串。在jquery部分,收到的'data'应该是一个json字符串。你可以解码并使用它。 – 2012-04-20 11:12:04

+0

我创建了另一个.php来解决上述问题。现在接下来的问题是我如何在div中反映这一点。 – Ravindu 2012-04-20 11:28:29