0

我想将 Java 脚本老虎机游戏集成到我的脚本中。

你可以在这里看到演示; http://odhyan.com/slot/

还有 git hub 在这里;https://github.com/odhyan/slot你可以在这里看到所有的 JS 文件。

我在用户表中创建了一个点列,人们可以用这个点玩游戏。

我认为 slot.js 中的这个 JS 函数检查用户是赢了还是输了。

function printResult() {
        var res;
        if(win[a.pos] === win[b.pos] && win[a.pos] === win[c.pos]) {
            res = "You Win!";
        } else {
            res = "You Lose";
        }
        $('#result').html(res);
    }

在此处输入图像描述

因此,如果用户赢得赌注,我想添加 +100 点。

我做了这个 PHP 代码 Uptading points For userid "1"。

<?php

mysql_connect ("localhost","username","password") or die (mysql_error());
mysql_select_db('slot_machine');
$pointsql = mysql_query("SELECT * FROM user WHERE userid = 1");
while ($row = mysql_fetch_array($pointsql))
{
$row['point'] +=100;
$addpoint =  mysql_query("UPDATE user SET point = '{$row['point']}' WHERE userid = 1");
}

?>

那么,如果用户 Win,我如何在 JavaScript 函数中调用或执行这个 PHP 代码?

4

3 回答 3

2

您需要从您的 javascript 代码触发网络请求来执行您的 php 脚本服务器端。使用 jQuery 的$.ajax()函数是一种非常常见的方法,可以抽象出各种浏览器差异。

function printResult() {
    var res;
    if(win[a.pos] === win[b.pos] && win[a.pos] === win[c.pos]) {
        res = "You Win!";
        // Assign handlers immediately after making the request,
        // and remember the jqxhr object for this request
        var jqxhr = $.ajax( "path/to/your.php" )
                       .done(function() { alert("success"); })
                       .fail(function() { alert("error"); })
                       .always(function() { alert("complete"); });
    } else {
        res = "You Lose";
    }
    $('#result').html(res);
}
于 2013-08-03T04:31:01.640 回答
1

您可以使用 jQuery 的$.post()函数来触发对 PHP 文件的异步请求。

function printResult() {
    var res;
    if(win[a.pos] === win[b.pos] && win[a.pos] === win[c.pos]) {
        res = "You Win!";
        // Here's the line you need.
        $.post('score.php', {userid: 1}, function(data) {
            alert("Score saved.");
        });
    } else {
        res = "You Lose";
    }
    $('#result').html(res);
}

这会将POST数据发送到score.php或您要将数据发送到的任何文件。然后,PHP 文件可以userid通过检查$_POST['userid'].

文档中所述,$.post()是 jQuery$.ajax()功能的快捷方式,它被简化并预先设置了一些选项。in 第三个参数$.post()是一个回调函数,该变量data将包含在执行完成时回显或打印的任何内容score.php。因此,您可以alert(data)改用,查看score.php打印出来的内容。这对于故障排除和错误处理很有用。

于 2013-08-03T04:24:32.450 回答
0

尝试这个

$(document).ready(function(){
        setInterval(function() {
        $.get("databaseUpdated.php");//or what ever your php file name is with corrct path
        return false;            
    }, 1000);
    });

希望这会帮助您在您的功能中使用它

function printResult() {
        var res;
        if(win[a.pos] === win[b.pos] && win[a.pos] === win[c.pos]) {
          // if    
            setInterval(function() {
            $.get("databaseUpdated.php");//or what ever your php file name is with corrct path
            return false;            
        }, 1000);

        } else {
            res = "You Lose";
        }
        $('#result').html(res);
    }
于 2013-08-03T04:31:41.167 回答