我必须创建一种从我的数据库中获取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']};");
这是正确的还是我做错了?
答案 0 :(得分:0)
你不能单独使用jQuery,因为Javascript是一种客户端语言,并且php在服务器上运行。您的PHP在脚本块中所做的一切都是在页面加载时回显,而不是在运行时为该方法回显。
但是,您可以使用中间件AJAX(异步Javascript和XML),它将请求发送到服务器,并可用于执行您想要的操作。
您可以在jQuery website
了解有关AJAX的更多信息