[英]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.