2017-06-23 9 views
1

私はmySQLからデータを取得し、google.maps APIに渡すことができる形式に変換しようとしています。私はmySQL - > php - > javascript - > google.mapsが最も理にかなっていると思っていますが、他の提案には間違いなくオープンしています。PHPを使用してPHPを介してJavascriptオブジェクトの配列にプル

これまでのところ、私はに接続され、正常配列

<?php 
//library of mysql functions including linkDB() 
    include('../sqlFunctions/sqlFunctions.php'); 

//Establish connection to database 
    if($link = linkDB()){ 
    echo "connected to DB"; 
    } 

//set up a MySQL query. I am simply pulling geocoordinate ints, strings and boolean. 
    $sql = "SELECT title 
      ,lat 
      ,lng 
      ,titleYou 
      ,descriptionAre 
      ,privacyRockstar 
     FROM shelters;"; 

    if($results = $link->query($sql)){ 
    echo "<p>Query succsessful.</p>"; 
    }else{ 
    echo "Query Failed"; 
    } 

//initialize an array to store data 
    $rows = array(); 

    while ($data = $results->fetch_assoc()) { 
     $rows[] = $data; 

     echo "<br><br>Loop rotation: "; 
     var_dump($data); 
    } 

    echo "<br><p>The End of The Loop<p><br>"; 
    var_dump($rows); 
?> 

に私のデータを照会している今、私はちょうど私がgoogle.mapsに渡すことができ、使用可能なものに、このデータを変換する必要があります。

テキストファイルからJSONを読み込む前に、うまくいきましたが、データベースの柔軟性と安定性を求めています。 Javascriptオブジェクトを解析して配列するのは簡単でした。それで、私が使っていたこの機能からわかるように、必要なインデックスとプロパティを呼び出すことができました。

function setMarkers(){ 
    for(i=0; i < jsonParsed.arrayOfObjs.length; i++){ 

//setting parameters to hand to google 
     var markerOptions = { 
     position : jsonParsed.arrayOfObjs[i].position, 
     map : mapCanvas, 
     description : jsonParsed.arrayOfObjs[i].title, 
     icon: 'http://maps.google.com/mapfiles/ms/icons/blue-dot.png', 
     }; 

    //create marker 
    this ['marker' + i] = new google.maps.Marker(markerOptions); 
    } 
    } 

問題が発生した場合は、お気軽にお問い合わせください。

+1

'$ rows'配列をjsonにエンコードします –

+0

本当にありがとう、ありがとう。これを投稿した直後に私はencode_json()を見つけました。 \ _O_ / – DMrFrost

答えて

1

答えが見つかったようですが、完全性のために投稿します。

var_dump($rows)行をjson_encode($rows)に変更するだけです。

詳細については、json_encodeをphp docsでご覧ください。

あなたはおそらく2つのphpファイルが持つようにしたい:Content-type: text/htmlを放出し、インデックスページでapi.php

を呼び出しContent-type: application/json

  • index.phpファイルを発する

    • api.phpファイルを、あなたが作ることができますAJAXからAPIエンドポイントに電話し、JSON.parse(response)を使用します。

  • 関連する問題