php - 在 javascript 调用中从 mysql 数据库中选择

标签 php javascript jquery mysql ajax

我有一个用 PHP 和 Javascript/jQuery 构建的小型网络应用程序。

该应用涉及一个随机数生成器,当它落在数字 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>

最佳答案

将发布的代码保存在一个 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');
    }
});

关于php - 在 javascript 调用中从 mysql 数据库中选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10298737/

相关文章:

php - 使用/#/重定向 URL

php - Symfony2,如何将参数发送到所有 View ?

javascript - CSS 或 jQuery : How to add a fade effect to an element got with getElementById?

javascript - 使用 google maps api 在我自己的服务器上映射

java - jquery ajax返回未找到的元素

php - 在 PHP 中创建图像以显示吉他和弦

php - Behat + Symfony,未加载自定义定义

c# - KnockoutJS 的购物车逻辑(?)问题

javascript - 滚动时修复/取消修复 Div

javascript - 在加载新页面之前停止 js 循环