[英]How do I convert PHP variables to JavaScript variables?
我正在嘗試將php變量插入javascript。
這是損壞的代碼:
var tokens = [<?
$result = mysql_query("SELECT * FROM accounts ORDER BY id DESC") or die (mysql_error());
while ($row = mysql_fetch_array($result)) {
$user_name = $row['user'];
$user_id = $row['id'];
echo "['$user_name','$user_id'],";
}
?>]
使用PHP的json_encode,然后直接回顯到javascript,例如:
$fruit = array("banana", "apple", "strawberry", "raspberry", "orange");
$json_fruit = json_encode($fruit);
echo "var fruit = $json_fruit;";
編輯:我已更新此答案以不再使用eval(),因為它不是必需的。 當我第一次回答這個問題時,我才剛剛開始使用JSON。
你做這個:
echo "['$user_name','$user_id'],";
...表示它將生成以下內容:
[ ['a','b'], ['a','b'], ['a','b'], ['a','b'], ]
請注意,它將始終以“,”結尾,這是不正確的語法。
正確的語法是:
[ ['a','b'], ['a','b'], ['a','b'], ['a','b'] ]
我不是PHP的人,但是我會說類似的東西可以解決這個問題:
var tokens = [<?
$result = mysql_query("SELECT * FROM accounts ORDER BY id DESC") or die (mysql_error());
$i = 0;
while ($row = mysql_fetch_array($result)) {
$i++;
$user_name = $row['user'];
$user_id = $row['id'];
echo "['$user_name','$user_id']";
if($i < sizeof($result)-1 ) // incorrect syntax, but you get the point
echo ","
}
?>]
PHP在服務器上運行。 JavaScript在客戶端上運行。
您可以從PHP生成JavaScript,但不能在JavaScript中運行PHP。
(值得閱讀有關Web的各個組件如何工作的信息,特別是HTTP ,以更好地理解所有這些。)
如果要在瀏覽器中執行PHP操作以響應客戶端操作而不重新加載整個頁面,請調查“ ajax”。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.