Я пытаюсь поместить строки моей таблицы mysql в массивы, но до сих пор не нашел, как это сделать правильно.Я был бы признателен, если бы кто-нибудь дал мне подсказку.Возможно, это очень, очень неправильно, как я это делаю, но я до сих пор не нашел много информации о 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];
}
});
}
Файл php:
$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>