使用array\u push的PHP-MySQL关联数组
我正在尝试使用PHP创建一个关联数组。我正在使用一个调用json文件的ajax脚本 我使用以下PHP代码测试了脚本:使用array\u push的PHP-MySQL关联数组,php,mysql,ajax,json,Php,Mysql,Ajax,Json,我正在尝试使用PHP创建一个关联数组。我正在使用一个调用json文件的ajax脚本 我使用以下PHP代码测试了脚本: $testLocs = array( 'loc5' => array( 'info' => 'Some random info', 'lat' => 0, 'lng' => 60 ), 'loc6' => array( 'info' => 'Some random info', 'lat' => 0, 'lng' => 40.345
$testLocs = array(
'loc5' => array( 'info' => 'Some random info', 'lat' => 0, 'lng' => 60 ),
'loc6' => array( 'info' => 'Some random info', 'lat' => 0, 'lng' => 40.345 )
);
echo json_encode($testLocs);
这呼应了:
{"loc1":{"info":"Some random info","lat":0,"lng":60},"loc1":{"info":"Some random info","lat":0,"lng":40.345}}
{"info":"Some random info","lat":"-31.9522","lng":"115.8614"},{"info":"Some random info","lat":"40.7842","lng":"-73.8422"}
ajax代码将正常工作。现在我正试图编写一个PHP脚本,从数据库中获取信息。下面是我的PHP代码
$query = "Select * from table";
$result = mysql_query($query);
$json_data = array();
while ($row = mysql_fetch_assoc($result)) {
$id = $row['id'];
$lat = $row['lat'];
$lon = $row['lon'];
$page = $row['page'];
array_push($json_data, array('info' => 'Some random info', 'lat' => $lat, 'lng' => $lon));
}
echo json_encode($json_data);
这呼应了:
{"loc1":{"info":"Some random info","lat":0,"lng":60},"loc1":{"info":"Some random info","lat":0,"lng":40.345}}
{"info":"Some random info","lat":"-31.9522","lng":"115.8614"},{"info":"Some random info","lat":"40.7842","lng":"-73.8422"}
我不知道如何在每个数组前面放置'loc'=>
。ajax使用locNUM作为唯一ID
谢谢试试看
$json_data = array();
$i = 0;
while ($row = mysql_fetch_assoc($result)) {
$id = $row['id'];
$lat = $row['lat'];
$lon = $row['lon'];
$page = $row['page'];
$json_data["loc" . ($i++)] = array('info' => 'Some random info', 'lat' => $lat, 'lng' => $lon);
}
而不是array\u push
。
array\u push
是一个纯数组函数,而不是散列操作函数。试试看
$json_data = array();
$i = 0;
while ($row = mysql_fetch_assoc($result)) {
$id = $row['id'];
$lat = $row['lat'];
$lon = $row['lon'];
$page = $row['page'];
$json_data["loc" . ($i++)] = array('info' => 'Some random info', 'lat' => $lat, 'lng' => $lon);
}
而不是array\u push
。
array\u push
是一个纯数组函数,而不是散列操作函数。如果$row['id']
是locNUM的唯一id:
$json_data["loc".$id] = array('info' => 'Some random info', 'lat' => $lat, 'lng' => $lon)
与
$array[]=$var相同
,它为您提供递增的数字键。如果$row['id']
是locNUM的唯一id:
$json_data["loc".$id] = array('info' => 'Some random info', 'lat' => $lat, 'lng' => $lon)
与
$array[]=$var相同
,它为您提供一个递增的数字键。将mysql\u*
更改为mysqli
或PDO
?将mysql\u*
更改为mysqli
或PDO
?谢谢您,它现在可以工作了。我看过一个教程如何做,但后来我有数组里面的数组。谢谢你,现在它可以工作了。我看过一个教程如何做到这一点,但后来我有数组中的数组。