2

ここに、Google Places API から場所を取得するのに役立つスクリプトがあります。だから今、これをすべてmysqlに保存したいのですが、どうすればいいですか? 私は mysql と php が初めてで、Google プレイスから取得したデータをデータベースに保存する方法を教えてください。

ここで何をする必要がありますか?誰かが私の例を見せてもらえますか...

PHP と JavaScript を組み合わせる方法;

コード: http://jsbin.com/AlEVaCa/1

したがって、Google から取得したデータを保存する必要があります。

google.maps.event.addListener(marker,'click',function(){
        service.getDetails(request, function(place, status) {
          if (status == google.maps.places.PlacesServiceStatus.OK) {
            var contentStr = '<h5>'+place.name+'</h5><p>'+place.formatted_address;
            if (!!place.formatted_phone_number) contentStr += '<br>'+place.formatted_phone_number;
            if (!!place.website) contentStr += '<br><a target="_blank" href="'+place.website+'">'+place.website+'</a>';
            contentStr += '<br>'+place.types+'</p>';
            infowindow.setContent(contentStr);
            infowindow.open(map,marker);
          } else { 
            var contentStr = "<h5>No Result, status="+status+"</h5>";
            infowindow.setContent(contentStr);
            infowindow.open(map,marker);
          }
        });

    });

すべての place.name,website ... などのデータを mydatabase に保存したいと考えています。どうやってするか?このデータを保存する方法はありますか?

4

3 に答える 3

2

AJAX を使用してデータを PHP ファイルに送信します。

jQuery $.post()-AJAX メソッドを使用して、データを php ファイルに送信します

 data = "name="+name+"&place="+website;
 $.post('file_to_store.php', data, function(data) {
     //Here you can get the output from PHP file which is (data) here
 });

純粋なJavaScriptの方法

function loadXMLDoc()
{
   var xmlhttp;
   if (window.XMLHttpRequest){
      // code for IE7+, Firefox, Chrome, Opera, Safari
      xmlhttp=new XMLHttpRequest();
   }
   else{
      // code for IE6, IE5
      xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
   }

   xmlhttp.onreadystatechange=function(){
     if (xmlhttp.readyState==4 && xmlhttp.status==200)
     {
        document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
     }
   }

   data = "name="+name+"&place="+website;
   xmlhttp.open("POST","file_to_store.php",true);
   xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
   xmlhttp.send(data);
}

file_to_store.php で $_POST[] グローバル配列からすべてのデータを受け取ります

 if(isset($_POST)){
   $name = $_POST['name'];
   $website = $_POST['website'];
   //Do same for all other variables

   //Steps to insert Data into Database
   //1. Connect to database 
   //2. Select Database
   //3. Generate Database Insert Query
   //4. Run mysql Query to insert

   // Return appropriate return back to Javascript code - Success or Failure 
 }
于 2013-09-11T11:40:50.517 に答える
0

使用serialize($data)してからデータベースに入れunserialize()、db からデータを取得した後に使用します。

追加:これは生データを保存します。おそらくパーサーも必要になるでしょう。

追加 2: 申し訳ありませんが、配列を取得したと仮定しました。

配列以外のデータを取得した場合の代替ソリューション: を使用して、SQL からのエンコードされたデータbase64_encode($raw_data)を格納および使用できます。base64_decode($encoded_data)

于 2013-09-11T11:13:30.310 に答える
0

基本的に、クライアント側で実行される JavaScript プログラムは、ホスト上の SQL データベースに直接アクセスできません。 AJAX を使用してホストに要求を発行する必要があり、ホスト側のソフトウェアはそれらを処理するようにプログラムする必要があります。 このテーマに関する既存のチュートリアルはすでにたくさん (!)あります...どこにでもあります。

于 2020-04-15T13:53:55.240 に答える