1

我有一个用 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'];
}

谢谢

编辑:

所以我可以在一个单独的文件中使用这样的东西和 php。

<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>
4

2 回答 2

0

你必须使用 AJAX,jQuery 包含一些易于使用的函数来使用 AJAX。

用法很简单,您可以在docs.jquery.com中阅读相关内容

如果您想将一些数组传递给您的 js 脚本,请查找 JSON 函数($.getJSON在 jQuery 中,json_decode/json_encode在 PHP 中)

于 2012-04-24T13:33:02.153 回答
0

将发布的代码保存在一个 php 文件中,我们称之为prizes_available.php. 该文件还应该输出奖品是否可用,因此创建结果对象并为其分配值:

$result = new stdclass();
$result->prizes_available = $prize != null;
echo json_encode($result);

如果您在浏览器中调用此脚本,它将输出如下内容:

{ prizess_available: true }

使用 jQuery,您可以轻松地将这个字符串再次转换为对象:

$.getJSON('prizes_available.php', function(result)  {
    if (!result.prizes_available) {
        alert('no more prizes');
    }
});
于 2012-04-24T13:39:29.653 回答