Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/227.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
Php 如何创建json响应_Php_Android_Mysql_Json_Google Maps - Fatal编程技术网

Php 如何创建json响应

Php 如何创建json响应,php,android,mysql,json,google-maps,Php,Android,Mysql,Json,Google Maps,我正在使用GoogleMapV2开发一个android应用程序,在服务器端我使用php和mysql数据库。在数据库中已经存储了很多纬度和经度的位置坐标,所以我想要的是当用户打开应用程序时,后台服务通过服务器从数据库中获取所有这些纬度和经度并显示在地图上,但我被困在php端。假设这是我的数据库数据 +---------+---------+---------+--------+ | uid | lat | long | loc | +---------+--------

我正在使用GoogleMapV2开发一个android应用程序,在服务器端我使用php和mysql数据库。在数据库中已经存储了很多纬度和经度的位置坐标,所以我想要的是当用户打开应用程序时,后台服务通过服务器从数据库中获取所有这些纬度和经度并显示在地图上,但我被困在php端。假设这是我的数据库数据

+---------+---------+---------+--------+
|  uid    |  lat    | long    |  loc   |
+---------+---------+------- -+--------+
| 1       |Value1 A1|Value2 A1|    A   |
+---------+---------+---------+--------+
| 2       |Value1 B2|Value2 B2|    B   |
+---------+---------+---------+--------+
| 3       |Value1 C3|Value2 C3|    C   |
+---------+---------+---------+--------+
| 4       |Value1 D4|Value2 D4|    D   |
+---------+---------+---------+--------+
这个查询可以为我提供数据行方式
$result=mysql\u查询(“从表中选择uid、lat、long、loc”)
但是我如何将这个数据存储在一些数组顺序方式中,以便在json中编码时,它将生成类似的响应

    [
    {
    "uid": "1": [
            {
                "lat": "Value1_A1",
                "lon": "Value2_A1"
                "loc": "A"
            }

        ]
    },
    {
    "uid": "2": [
            {
                "lat": "Value1_B2",
                "lon": "Value2_B2"
                "loc": "B"
            }

        ]
    },
{
    "uid": "3": [
            {
                "lat": "Value1_C3",
                "lon": "Value2_C3"
                "loc": "C"
            }

        ]
    },
{
    "uid": "4": [
            {
                "lat": "Value1_D4",
                "lon": "Value2_D4"
                "loc": "D"
            }

        ]
    },
    and so on...............
]

请帮助我,因为我正在寻找过去两天的解决方案,但找不到任何合理的解决方案。

您可以将$results构建到一个数组中,然后将其通过json编码传递,如下所示

json_encode($array);
您可以在php中执行此操作以输出json

尝试mysql\u fetch\u assoc:

$json = array();
while ($row = mysql_fetch_assoc($result)) {
    $json[$row['uid']] = array(
       'lat' => $row['lat'],
       'lon' => $row['lon'],
       'loc' => $row['loc']
    );
}
echo json_encode($json);
您应该使用MySQLi或PDO_MySQL,而不是MySQL_。您可以这样使用:

$result = mysql_query("SELECT uid, lat, long, loc FROM table")
    $user = array();
$i=0;
  foreach($result as $key => $val){
$mess[$i][uid]=$val[uid];
$mess[$i][uid]=$val[lat];
$mess[$i][uid]=$val[long];
$i++;
}

$user=$mess;
echo json_encode($user);

我希望这能对你有所帮助。

浏览谷歌..搜索教程。。这将帮助您更多…您的示例json无效谢谢Harry,我将尝试这个。如何做相反的操作?谢谢,我将尝试这个。