【发布时间】:2012-05-05 03:19:27
【问题描述】:
我有一个用 PHP 和 Javascript/jQuery 构建的小型 Web 应用程序。
该应用程序包含一个随机数生成器,当它落在数字 4 时,用户获胜。
但是,奖品是从数据库中提取的,并且每天会赢得 5 次奖品。用户无法获胜。
一旦用户获胜,奖品将更新为“排队”,直到他们填写表格并领取奖品。然后从可用奖品中取出。
如果用户刷新应用程序,这一切都可以正常工作。但是,如果一个用户开始玩应用程序并且另一个用户获胜,那么应用程序将不会更新,除非它被刷新,因为 PHP 是服务器端的。
我有一个 JavaScript 函数 OnStart。因此,如果我可以在这里执行 SQL 查询,那么每次用户掷骰子时都会发生这种情况。
如何从 jquery 函数运行 php 语句?
如果有帮助的话,下面是声明:
$result = mysql_query("SELECT * FROM prizes WHERE dateavailable='$todayDate' AND queue='0' AND won='0' ORDER BY id ASC LIMIT 1");
while($row = mysql_fetch_array($result))
{
$prize = $row['prize'];
}
谢谢
编辑:
那么我可以在一个单独的文件中使用这样的东西吗?
<script type="text/javascript">
function performAjaxSubmission() {
$.ajax({
url: 'file.php',
method: 'POST',
data: {
action: 'save',
arg1: 'val1',
arg2: 'val2'
},
success: function() {
alert("success!");
}
});
return false; // <--- important, prevents the link's href (hash in this example) from executing.
}
jQuery(document).ready(function() {
$("#linkToClick").click(performAjaxSubmission);
});
</script>
【问题讨论】:
-
你需要研究一下 jQuery 的 AJAX 功能。
-
不要忘记保护您的数据免受 SQL 注入。
-
那么如果用户赢了,他还能继续玩并再次赢吗?
-
是的。但他不能两次领奖。
标签: php javascript jquery mysql ajax