是否可以將PHP返回分配給js變量?例如:分配JavaScript var到PHP返回
<script type='text/javascript'>
var h = <?php include'dbconnect.php';
$charl = (some number from another sql query)
$sql=mysql_query("selct type from locations where id='$charl'");
echo $sql; ?> ;
if(h == "hostile") {
(run some other js function)
}
</script>
什麼,我需要做的就是從查爾(字符位置)一個文本值(類型),並將其分配給一個java腳本變量,並在其上運行的if語句。任何提示?
這裏是我的代碼更新。它不會返回任何錯誤,但它不會輸出我想要的方式。它應該只返回[類型]只應該等於敵對,城市,農場和類似的東西。它不會運行,除非整個字符串在同一行。我相信它返回整個字符串,而不僅僅是回聲(如我需要它)
function check_hostile() { var h = '<?php session_start(); include"dbconnect.php"; $charid=$_SESSION[\'char_id\']; $charloc=mysql_fetch_array(mysql_query("select location from characters where id=\'$charid\'")); $charl=$charloc[\'location\']; $newloc=mysql_fetch_array(mysql_query("select type from locations where id=\'$charl\'")); echo $newl[\'type\']; ?>';
if(h == "hostile") {
if(Math.random()*11 > 8) {
find_creature();
}
}
$("#console").scrollTop($("#console")[0].scrollHeight);
}
下面是一個報警功能的輸出運行泰斯時。
<?php session_start(); include"dbconnect.php"; $charid=$_SESSION['char_id']; $charloc=mysql_fetch_array(mysql_query("select location from characters where id='$charid'")); $charl=$charloc['location']; $newloc=mysql_fetch_array(mysql_query("select type from locations where id='$charl'")); print $newloc['type']; ?>
沒有更好的通過AJAX來獲得H值爲:
我已經更新了你的代碼,以解決這個問題小,提高了代碼的可讀性? – Robert
@RobertPodwika - 不需要那將涉及另一個HTTP請求並且是異步的。但是,如果僅使用PHP來確定腳本是否應該添加到文檔中,而不是生成一個變量,然後再測試它的客戶端,那麼它可能更有意義。 – Quentin
您正在使用[an **過時的**數據庫API](http://stackoverflow.com/q/12859942/19068)並應使用[現代替換](http://php.net/manual/en/ mysqlinfo.api.choosing.php)。 – Quentin