所以我需要做的就是刷新显示在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
答案 0 :(得分:1)
也许只是我,但为什么不使用jQuery .load函数?
$("#form-submit").click(function(e) {
e.preventDefault();
$(this).load('process-register.php');
});
可能不符合道德规范,也不是正确的做法,但每次点击#form-submit时,它都会加载该文件,因此每次都会对其进行处理。另请注意,如果您加载使用MySQL连接的文件,则没有配置mysql_connect
或mysql_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替换为您希望输出的位置。