我正在尝试将我的mysql表的行放入Arrays中,但到目前为止我还没有找到正确的方法。如果有人能给我一个提示,我将不胜感激。我这样做的方式可能非常非常错误,但到目前为止我还没有找到关于JSON和我的问题的很多信息。
function updateMap(){
var latlngArray = new Array();
var titleArray = new Array();
var ogvArray = new Array();
var mp4Array = new Array();
var webmArray = new Array();
$.getJSON('getPOI.php', function(data){
for(var i=0; data.length; i++){
latlngArray[i] = data[i][0];
alert(latlngArray[i]);
titleArray[i] = data[i][1];
ogvArray[i] = data[i][2];
mp4Array[i] = data[i][3];
webmArray[i] = data[i][4];
}
});
}
phpfile:
$con = mysql_connect($server,$benutzername,$passwort) or
die ("Keine Verbindung moeglich");
mysql_select_db($datenbank, $con) or
die ("Die Datenbank existiert nicht");
$res = mysql_query("select * from POI");
echo json_encode($res);
mysql_close($con);
更新:它仍然无法正常工作。警报功能仅显示“0:[对象对象],1:[对象对象],...”我想我没有正确访问数据:
jsontest.html:
<html>
<head>
<script src="jquery-1.6.1.js"></script>
<script type="text/javascript">
function updateMap(){
$.getJSON('getPOI.php', function(data) {
$.each(data, function(key, value){
alert(key + ': ' + value);
});
}
);
}
</script>
</head>
<body onload="updateMap()">
</body>
</html>
getPOI.php:
<?php
$server = "localhost";
$benutzername = "user";
$passwort = "pw";
$datenbank = "d0116c39";
$con = mysql_connect($server,$benutzername,$passwort) or
die ("Keine Verbindung moeglich");
mysql_select_db($datenbank, $con) or
die ("Die Datenbank existiert nicht");
$allResults = array();
$res = mysql_query("select * from POI");
while ($row = mysql_fetch_assoc($res)) {
$allResults[] = $row;
}
echo json_encode($allResults);
?>
终于明白了:
<html>
<head>
<script src="jquery-1.6.1.js"></script>
<script type="text/javascript">
function updateMap(){
$.getJSON('getPOI.php', function(data) {
$.each(data, function(i, item){
alert(data[i]['Adresse']);
alert(data[i]['Titel']);
});
}
);
}
</script>
</head>
<body onload="updateMap()">
</body>
</html>
答案 0 :(得分:1)
致电:
$res = mysql_query("select * from POI");
会执行查询,但无法获取数据:您必须获取。
这可以通过mysql_fetch_assoc()
等函数来完成(查询选择的每行必须调用一次 - 通常在循环中完成)
每次获取一行时,将其添加到数组中。
并且,当您完成获取行并构建该数组时,json_encode()
它,并将结果字符串回显给客户端。
你最终会得到一些看起来有点像这样的代码:
$allResults = array();
// Execute the query
$res = mysql_query("select * from POI");
// As long as you get rows, fetch them
while ($row = mysql_fetch_assoc($result)) {
// And add them to the resulting array
$allResults[] = $row;
}
// Which, in the end, can be JSON-encoded
echo json_encode($allResults);