我真的找不到在页面上打印数组内容的方法。有人可以帮忙吗? 我从数据库中获取数据并将其循环到javascript数组中,现在只想在页面上显示它。
以下是代码:
<html>
<head>
<script>
var items = {
<?php
$con = mysql_connect("***","****","*****");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("learning_game", $con);
$result = mysql_query("SELECT * FROM data");
$first=true;
while($row = mysql_fetch_array($result))
{
if (!$first){
echo ",";
}
$first = false;
echo "{name='" . $row['word'] . "',image='" . $row['image'] ."'}";
}
mysql_close($con);
?>
};
</script>
</head>
<body>
</body>
</html>
答案 0 :(得分:0)
<html>
<head>
</head>
<body>
<div></div>
<script>
var items = [
<?php
$con = mysql_connect("***","****","*****");
if (!$con) {
die('Could not connect: ' . mysql_error());
}
mysql_select_db("learning_game", $con);
$result = mysql_query("SELECT * FROM data");
$first = true;
while ($row = mysql_fetch_array($result)) {
if (!$first) {
echo ",";
}
$first = false;
echo "{name:'" . $row['word'] . "',image:'" . $row['image'] ."'}";
}
mysql_close($con);
?>
];
for (var i = 0; i < items.length; i += 1) {
document.getElementsByTagName('div')[0].innerHTML += items[i].name + ":" + items[i].image + "<br />\n";
}
</script>
</body>
</html>
请注意,items
声明现在带有[
]
个符号,因此它会变成一个数组,而不是一个对象。
在您回显名称和图像的行中,等号变为冒号(:)。
除了必须将完整脚本移动到底部之外,因为您只能写入已经渲染(关闭)的元素。所以我在混音中添加了一个新的div
,然后写进去。