簡體   English   中英

如何從PHP中的MySQL解析空間數據

[英]How to parse spatial data from mysql in php

我試圖將空間數據的結果從mysql轉換為json形式,並且得到相同線形的輸出:

`[[-105.00341892242432, 39.75383843460583],[-105.0008225440979, 39.751891803969535]] `

但是我需要得到這個:

`[{" coordinates":[[-105.00341892242432, 39.75383843460583], [-105.0008225440979, 39.751891803969535]]}`

有人可以幫我嗎?

這是代碼:

    <?php

require_once("caroom_db.php");

header("Content-Type: application/json");
    //$l1 = '';
    $ll1 = array();
    //$lt = array();

 $json_response = array();

       $ll =0;
    //echo $l;
    $jsonData = '[';
    $num_point="SELECT NumPoints(geo_type) FROM line_park WHERE id='2'";
    $query = mysqli_query($cn, $num_point) or die (mysqli_error($cn)); 

    while ($row = mysqli_fetch_array($query, MYSQLI_ASSOC)) {


                    $ll  = $row["NumPoints(geo_type)"];
//echo $ll;
}

    for ($i=1; $i<=$ll; $i++) {

    $l1="SELECT X(PointN(geo_type,$i)), Y(PointN(geo_type,$i)) FROM line_park";



            $query = mysqli_query($cn, $l1) or die (mysqli_error($cn)); 
            while ($row = mysqli_fetch_array($query, MYSQLI_ASSOC)) {

        $ll1[0] = $row["X(PointN(geo_type,$i))"];
        $ll1[1] = $row["Y(PointN(geo_type,$i))"];


                array_push($json_response,$ll1);


            }


        }

        echo json_encode($json_response);

fclose($cn);


?>

先感謝您!

好的,因為我的評論解決了您的問題,所以我將其發布為答案,以便您接受。 嘗試使用php.net/manual/en/function.json-encode.php將數組轉換為json將值推入數組會更簡單。

添加coodrinates只是做字符串concat

$jsonData = json_encode($json_response);
$jsonData = '{"coordinates":' . $jsonData . '}';

使用另一個數組鍵。 例如,

json_encode(array('coordinates' => $response));

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM