我必须创建一种从数据库中获取 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 在脚本 block 内所做的所有操作都是在页面加载时回显,而不是在方法运行时回显。
但是,您可以使用中介 AJAX(异步 Javascript 和 XML),它将请求发送到服务器,并可用于执行您想要的操作。
您可以通过 jQuery website 了解有关 AJAX 的更多信息。
关于javascript - 单击中间表单上的按钮查询数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20647682/