单击提交按钮后,在php页面上刷新MySQL数据库的值

时间:2011-09-17 22:22:48

标签: php javascript mysql ajax

所以我需要做的就是刷新显示在php页面上的变量,该变量存储在MySQL数据库中。此值为int,每次单击表单中的提交按钮时,该值将减1。由于我选择使用AJAX发布表单,因此页面没有刷新,因此该值不会随表单提交一起更新。

$qry = mysql_query("SELECT codes_remaining FROM users WHERE email= '".$_SESSION['email']."'");
while($row = mysql_fetch_array($qry)) {
    if ($row['codes_remaining'] ==1 ) 
    {
    echo "You have ".$row['codes_remaining'].' code remaining';
    }
    else {
echo "You have ".$row['codes_remaining'].' codes remaining';
}
}

所以这段代码只显示一个人剩下多少“代码”。从同一页面上的表单中单击提交按钮后,我需要刷新此值。

我正在使用以下JavaScript来刷新页面。

$("#form-submit").click(function(e) { 
        e.preventDefault();
        $.ajax({
        cache: true,
        type: 'POST',
        url: 'process-register.php',
        data: $("#form-register").serialize(),
        success: function(response) {
            $("#output-div").html(response);
        }
        });
    }); 

谢谢, LS

3 个答案:

答案 0 :(得分:1)

也许只是我,但为什么不使用jQuery .load函数?

    $("#form-submit").click(function(e) { 
        e.preventDefault();
        $(this).load('process-register.php');
    });

可能不符合道德规范,也不是正确的做法,但每次点击#form-submit时,它都会加载该文件,因此每次都会对其进行处理。另请注意,如果您加载使用MySQL连接的文件,则没有配置mysql_connectmysql_select_db,它显然不起作用。我已经有很多次了。

答案 1 :(得分:1)

如果您想更新该值,请执行此操作(jQuery最简单):

$(".submit").click(function(event) { 
     event.preventDefault();
     $(this).load('file.php',function(val){
        $('#output').text(val);
     });
 });

在file.php中:

<?php
    connect_to_db();
    $returned = get_info_from_db();
    echo $returned;
?>

jQuery将获取file.php上的信息并将其放入#output。

答案 2 :(得分:0)

在你的'成功'中,你可能只是投入

$("#WhereYouWantTheOutput").load("process-register.php");

这样,无论何时提交成功,它都会为您加载输出。只需将#WhereYouWantTheOutput替换为您希望输出的位置。