php数组到2d Javascript数组
我正在通过php将两个SQL字段传递给javascript。我已经阅读了许多关于如何创建多维javascript数组的教程。我感到困惑的是如何从php编码到javascript。我看过一些关于如何将php数据转换成javascript的教程,但没有一个是关于如何使用二维实现这一点的 我的第一个问题是,如果要创建多维数组,我需要在声明java数组之前计算sql数据中的记录数,对吗 更新: 我将数据转换为JSON格式,如下所示。有没有一种方法可以让我把所有的内容打印到网页上,这样我就可以看到它们,然后缩小显示的范围 更新三: 代码: 工作代码:php数组到2d Javascript数组,php,javascript,Php,Javascript,我正在通过php将两个SQL字段传递给javascript。我已经阅读了许多关于如何创建多维javascript数组的教程。我感到困惑的是如何从php编码到javascript。我看过一些关于如何将php数据转换成javascript的教程,但没有一个是关于如何使用二维实现这一点的 我的第一个问题是,如果要创建多维数组,我需要在声明java数组之前计算sql数据中的记录数,对吗 更新: 我将数据转换为JSON格式,如下所示。有没有一种方法可以让我把所有的内容打印到网页上,这样我就可以看到它们,然
$data = mysql_query("SELECT * FROM gpsdata");
$aData = array();
while($row = mysql_fetch_assoc($data))
$aData[$row['idgpsdata']] = array($row['userID'],$row['date'],$row['lat'], $row['longi'], $row['alt']);
$json = json_encode($aData);
echo $json;
首先填充PHP数组,这比为javascript数组构建字符串容易。然后——正如ThiefMaster在评论中所说——使用JSON生成javascript数组。在PHP中,您可以使用 在Javascript中
var obj = JSON.parse('{"1":[3,4],"2":[4,5]}');
for(var i in obj){
for(var j in obj[i]) {
console.log(obj[i][j]);
}
}
用于Gecko(类似Firefox),用于跨浏览器javascript JSON解析检查或
PHP/jQuery中的示例实现如下:
json.php
$arr = array( 1=>array('Name', 'Age'),
2=>array('Fares','18'));
$json = json_encode($arr);
echo $json;
json.html
<html><head></head>
<body>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.0/jquery.min.js"></script>
<script>
$.getJSON('json.php', function(data) {
var items = [];
$.each(data, function(key, val) {
items.push('<li id="' + key + '">' + val + '</li>');
});
$('<ul/>', {
'class': 'my-new-list',
html: items.join('')
}).appendTo('body');
});
</script>
</body>
</html>
$.getJSON('json.php',函数(数据){
var项目=[];
$。每个(数据、函数(键、值){
items.push(““+val+” ”);
});
$(“
”{
“类”:“我的新列表”,
html:items.join(“”)
}).附于(“主体”);
});
您可以缩短当前代码:var scriptAr=
@LorenZimmer Yea,您错误地使用了mysql\u fetch\u数组。这一次只能得到一行。编程语言不了解表,所以一次只能获取一行。您需要实际构建2D数组。更新。。。上面的代码返回所有值,但不返回键。对我来说奇怪的是,它在插入@Laith Shadeed的java例程时会创建重复的值!如果我在两者之间添加变量$json,它也可以在外部使用吗?是的,它可以在脚本的任何PHP部分中使用。谢谢你的建议。在我最初的问题中,您将看到,我已经替换了一些代码来将sql结果转换为json,但我还没有完全成功。我输入错误的任何想法。我感觉我没有正确地将信息传递到数组中。
var obj = JSON.parse('{"1":[3,4],"2":[4,5]}');
for(var i in obj){
for(var j in obj[i]) {
console.log(obj[i][j]);
}
}
$arr = array( 1=>array('Name', 'Age'),
2=>array('Fares','18'));
$json = json_encode($arr);
echo $json;
<html><head></head>
<body>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.0/jquery.min.js"></script>
<script>
$.getJSON('json.php', function(data) {
var items = [];
$.each(data, function(key, val) {
items.push('<li id="' + key + '">' + val + '</li>');
});
$('<ul/>', {
'class': 'my-new-list',
html: items.join('')
}).appendTo('body');
});
</script>
</body>
</html>