【发布时间】:2016-02-08 09:01:57
【问题描述】:
我想将查询结果传递给 javascript(我想做一个关于鱼类种类的交互式测验)。使用 json_encode 似乎很容易,但是我的 php 数组的结构使其难以访问?即使console.log 也不起作用,所以可能有一个错误,尽管我检查这段代码的次数比我想承认的要多。我很确定错误出在小的 javascript 部分。代码(这都在一个 .php 文件中):
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<?php
$con = new mysqli("localhost", "root", "", "marinefish");
$query = "SELECT Commonname, Scientificname FROM allseafish";
$result = $con->query($query);
while ($row = $result->fetch_array()){
$rows[] = $row;
}
/*
Structure rows:
array(544) {
[0]=>
array(4) {
[0]=>
string(7) "Allfish"
["Commonname"]=>
string(7) "Allfish"
[1]=>
string(11) "Omni pisces"
["Scientificname"]=>
string(11) "Omni pisces"
}
*/
mysqli_free_result($result);
mysqli_close($con);
?>
<title>Untitled</title>
</head>
<body>
<script type="text/javascript">
var ars = <?php echo json_encode($rows) ?>;
console.log(ars);
alert(ars[0][0]);
</script>
</body>
</html>
非常欢迎任何建议或易于理解的链接/教程!
我试过:http://www.dyn-web.com/tutorials/php-js/json/multidim-arrays.php 这似乎解释得很清楚,但帮不了我。我也尝试过简化 php 数组的结构,但没有成功。
我尝试将 echo json_encode($rows) 更改为 print(json_encode($rows))。
您可能已经注意到,我是新手,所以所有基本技巧都会有很大帮助。
谢谢!
【问题讨论】:
标签: javascript php arrays json mysqli