在MySQL DB上使用PHP的Ajax请求

时间:2016-04-12 17:48:09

标签: javascript php jquery mysql ajax

我的目标是使用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的新手,但我想在我的代码中使用更多,所以如果有人能详细说明,我将非常感谢,谢谢!

2 个答案:

答案 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