我的目标是使用AJAX
来调用我的php函数:
function getAns($mysqli)
{
$stmt = $mysqli->prepare('
SELECT `user_id`,`user_name`, `user_ans`
FROM `tbl_user`
WHERE `user_ans` != ""');
$stmt->execute();
$stmt->bind_result($id, $user, $ans);
$O ="";
$x = 1;
$O.="<table><form action=\"#\" method=\"POST\">";
while($stmt->fetch())
{
if($x%2)
{
$O.= "<tr>
<td>".$user."</td><td>".$ans."</td><td><input id=".$id." type=\"submit\" name=\"pts\" href=\"#\" value=\"+\"></td>
</tr>";
$x++;
}
else
{
$O.= "<tr>
<td>".$user."</td><td>".$ans."</td><td><input id=".$id." type=\"submit\" name=\"pts\" href=\"#\" value=\"+\"></td>
</tr>";
$x++;
}
}
$O.= "</form></table>";
// close statement
$stmt->close();
return $O;
}
以设定的时间间隔,例如每5秒,使用AJAX/jQuery
。我正在尝试在div中设置一个答案部分,从我的数据库中自动抓取内容并将其回显到页面上。
我试图让他们看到的HTML
看起来像这样:
<div id="ans" class="box3"><!--PHP Students answers -->
<form id="ans" action="<?php $_SERVER['PHP_SELF'] ?>" method="POST">
<?php echo getAns($mysqli);?>
</form>
</div>
我理解它是如何工作的,但我不明白它到达那里所需的代码。我是JavaScript/jQuery/AJAX
的新手,但我想在我的代码中使用更多,所以如果有人能详细说明,我将非常感谢,谢谢!
答案 0 :(得分:2)
使用此功能,您可以在每5分钟后运行一次ajax。 您只需要在ID变量中传递用户ID值,该值将在每5分钟后获取该用户的所有答案。
在get_data.php文件中运行你的sql查询。
$(document).ready(function(){
var timer, delay = 300000; //5 minutes counted in milliseconds.
var ID = $( "td :submit" ).val();
var info = 'userID=' + ID ;
timer = setInterval(function(){
$.ajax({
url: "get_data.php",
type: "POST",
data: info,
success:function(data){
$("#ans").html(data);
}
});
}, delay);
});
答案 1 :(得分:0)
您可以使用ajax来调用包含您将在服务器中执行它的PHP代码的php文件,然后它会将结果返回给您
$.ajax({
url:"your_php_file_path.php",
success: function(result){
//result is a variable that stores the value sent back from your php
// in your case $O
}
});
您可以将此代码放在js函数中,最后您必须包含Jquery库,以便您可以使用ajax