在窗体中间单击按钮查询数据库

Query database on button click mid form

本文关键字:查询 数据库 按钮 单击 窗体 中间      更新时间:2023-09-26

我必须创建一种从数据库中获取SpellMin和SpellMax的方法,我尝试了各种方法都没有成功,这是我最近的一次尝试。有人知道我该怎么做吗?我认为这会导致当前出现错误,导致所有正在进行的脚本无法运行。

<script type="text/javascript">
    function CheckCast()
    {
        <?php
            $q10 = mysql_query("SELECT SpellMin, SpellMax FROM SpellsTable WHERE SpellName = {$_POST['mydropdown']};");
            if (!$q10) die (mysql_error());
            $minmax = mysql_fetch_array($q10);
            $_SESSION['SpellMin'] = $minmax["SpellMin"];
            $_SESSION['SpellMax'] = $minmax["SpellMax"];
        ?>
        var y = <?php echo json_encode($_SESSION['char']->Wisdom);?>;
        var x;
        x=Math.floor(Math.random()*99);
        a = <?php echo json_encode($_SESSION['SpellMin']);?>;
        b = <?php echo json_encode($_SESSION['SpellMax']);?>;
        var c;
        c=Math.floor(Math.random() * (parseInt(b) - parseInt(a) + 1)) + parseInt(a);
        if (x <= y)
        {
            alert("Spell Cast" + ' ' + c);
        }
        else
        {
            alert("Spell Failed");
        }
    }
</script>

我尝试使用AJAX,并提出了这个

<script>
    $(document).ready(function() {
        $('#dropdown').change(function() {
            $.ajax({
                type: 'GET',
                url: 'getMinMax.php',
                data: 'ddb=' + $_POST['mydropdown'].val()
                });
        });
    });

</script>

调用几乎相同的MYSQL语句,除了:

$q10 = mysql_query("SELECT SpellMin, SpellMax FROM SpellsTable WHERE SpellName = {$_GET['ddb']};"); 

这是正确的还是我做错了?

您不能单独使用jQuery,因为Javascript是一种客户端语言,php在服务器上运行。PHP在脚本块中所做的一切都是在页面加载时回显,而不是在方法的运行时回显。

但是,您可以使用一个中介AJAX(异步Javascript和XML),它将请求发送到服务器,并可以用于执行您想要的操作。

您可以在jQuery网站

上了解更多关于AJAX的信息