Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/72.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 MySQL JSON输出_Php_Mysql_Google Maps Api 3_Json - Fatal编程技术网

PHP MySQL JSON输出

PHP MySQL JSON输出,php,mysql,google-maps-api-3,json,Php,Mysql,Google Maps Api 3,Json,我正在尝试从MySQL表中获取数据,并以以下格式创建JSON输出 { markers: [ { latitude: 57.7973333, longitude: 12.0502107, title: "Angered", content: "Representing :)" }, { latitude: 57.6969943, longitude: 11.9865,

我正在尝试从MySQL表中获取数据,并以以下格式创建JSON输出

{
    markers: [
    {
       latitude: 57.7973333,
       longitude: 12.0502107,
       title: "Angered",
       content: "Representing :)"
    },
    {
       latitude: 57.6969943,
       longitude: 11.9865,
       title: "Gothenburg",
       content: "Swedens second largest city"
    }
  ]
}
下面是我用来生成JSON的PHP

$model  = array();

    $query = "SELECT title, content, lat, lng FROM locations_tbl";

    //Get records from database
    $result = mysql_query($query, $con);

    if(mysql_num_rows($result)) {
        while($e = mysql_fetch_assoc($result)) {
            $model['title'][]       = $e['title'];
            $model['content'][] = $e['content'];
            $model['lat'][]     = $e['lat'];
            $model['lng'][]     = $e['lng'];
        }
    }

    header('Content-type: application/json');
    print json_encode(array('marker'=>$model));
下面是我使用上述代码得到的输出:

{
   marker: {
      title: [
          "Marker 1",
          "Marker 2",
          "Marker 3",
          "Marker 4",
          "Marker 5"
       ],
       content: [
          "Text 1",
          "Text 2",
          "Text 3",
          "Text 4",
          "Text 5"
       ],
       lat: [
          "46.99065400",
          "47.03520400",
          "47.20387700",
          "47.62574900",
          "47.43443400"
       ],
       lng: [
          "-122.92164800",
          "-122.81614600",
          "-122.24486400",
          "-122.14453800",
          "-122.46088200"
       ]
   }
}
有什么建议吗?

试试这个

       $i = 0;
       while($e = mysql_fetch_assoc($result)) {
            $model[$i]['title']       = $e['title'];
            $model[$i]['content'] = $e['content'];
            $model[$i]['lat']     = $e['lat'];
            $model[$i]['lng']     = $e['lng'];
            $i++;
        }
我希望这会有帮助

试试这个

       $i = 0;
       while($e = mysql_fetch_assoc($result)) {
            $model[$i]['title']       = $e['title'];
            $model[$i]['content'] = $e['content'];
            $model[$i]['lat']     = $e['lat'];
            $model[$i]['lng']     = $e['lng'];
            $i++;
        }

我希望这将有助于

您永远不会为每个标记创建新数组:

$model = array("markers" => array());
if(mysql_num_rows($result)) {
    while($e = mysql_fetch_assoc($result)) {
        $marker = array();
        $marker['title']    = $e['title'];
        $marker['content']  = $e['content'];
        $marker['lat']      = $e['lat'];
        $marker['lng']      = $e['lng'];
        $model["markers"][] = $marker;
    }
}

实际上,您从未为每个标记创建新数组:

$model = array("markers" => array());
if(mysql_num_rows($result)) {
    while($e = mysql_fetch_assoc($result)) {
        $marker = array();
        $marker['title']    = $e['title'];
        $marker['content']  = $e['content'];
        $marker['lat']      = $e['lat'];
        $marker['lng']      = $e['lng'];
        $model["markers"][] = $marker;
    }
}

创建如下数组:

    $i = 0;
    while($e = mysql_fetch_assoc($result)) {
        $model[$i]['title']       = $e['title'];
        $model[$i]['content']     = $e['content'];
        $model[$i]['lat']         = $e['lat'];
        $model[$i]['lng']         = $e['lng'];
        $i++;
    }

创建如下数组:

    $i = 0;
    while($e = mysql_fetch_assoc($result)) {
        $model[$i]['title']       = $e['title'];
        $model[$i]['content']     = $e['content'];
        $model[$i]['lat']         = $e['lat'];
        $model[$i]['lng']         = $e['lng'];
        $i++;
    }

@user2495292您的JSON无效,您可以使用此验证器查看有效性我更正了您的JSON,检查这是否是正确的JSON@user2495292您的JSON无效,您可以使用此验证器查看有效性我更正了您的JSON,检查这是否是正确的JSON?谢谢你把它修好了!谢谢你把它修好了!