Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/asp.net-mvc-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用array\u push的PHP-MySQL关联数组_Php_Mysql_Ajax_Json - Fatal编程技术网

使用array\u push的PHP-MySQL关联数组

使用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

我正在尝试使用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 )
);
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
?谢谢您,它现在可以工作了。我看过一个教程如何做,但后来我有数组里面的数组。谢谢你,现在它可以工作了。我看过一个教程如何做到这一点,但后来我有数组中的数组。