1

私の場合は次のとおりです。エクスポートしてFusionTableに挿入したMySQLデータベースがあります。次に、ローカルホストデータベースではなくFusionテーブルからデータをクエリする際にphpページを変更する必要があります。

開発者ガイドからFusion-Tablesのクエリについて読みましたが、GDataJavaライブラリとSQLAPIを参照しています。別のサイトで、クエリに使用できる他のライブラリがあることを確認しました。これには、PHPが依存するZendフレームワークが含まれます。これは、私の場合に関連しています。ただし、単純なセル、行、または列をクエリして、コーディングを変更および改善してデザインに適用する方法についてのphpページを示すサンプルやチュートリアルはありません。

私の質問は次のとおりです。

  1. ホスティングスペースにライブラリをインストール/アップロードする必要がありますか?

  2. Fusion Tableデータのクエリに関するPHPサンプルとチュートリアルはありますか?見逃した可能性がありますか?

  3. たとえば、ID 5の行の緯度情報を照会する方法の手がかりを誰かに教えてもらえますか?(ページは次のパスを使用して取得されます:articles.php?lang = en&pg = comm_en&m = view&commID = 88

以下は、PHPからSQLにデータをクエリするcomm_en.phpページにあるコーディングです。

前もって感謝します!

ドリーニ

<?php
session_start();
foreach ($_REQUEST as  $key => $value){
    $$key=addslashes(htmlspecialchars(strip_tags($value)));
}
if(isset($_GET["m"]))       {$m=$_GET["m"];}            else     {$m="";}
if(isset($_GET["commID"]))      {$commID=$_GET["commID"];}    else {$commID=1;}
if(isset($_GET["lang"]))        {$lang=$_GET["lang"];}   
else {$lang="en";}

Shfaq($m,$commID);

function Shfaq($metod,$commID)
 {
switch($metod)
{
 case "view":
        {View($commID);}        
    break;
 case "default":
        {View($artID);}      
    break;

}
}  // end of Shfaq();


function View($commID)
{
     $link =mysql_connect("localhost", "db-user", "db-pass") or die ("E pamundur lidhja!");
mysql_select_db("DataBase-name") or die (mysql_error());
$queryComm = "SELECT * FROM communities WHERE id ='$commID' LIMIT 0,1";
$commRes=mysql_query($queryComm) or die(mysql_error());
$comm=mysql_fetch_array($commRes);  
$healthPerc = round(($comm["healthBooklet"]/$comm["totalChildNo"]), 3)*100 ;

echo '      <table class="gpsbox" align="right">
        <caption>GPS Location</caption>                   
        <tr><td>Latitude </td><td>'.$comm["latitude"].'</td></tr>
        <tr><td>Longitude</td><td>'.$comm["longitude"].'</td></tr> 
    </table>....<html coding continues>
4

2 に答える 2

3

FusionTablesで最新のPHPAPIクライアントライブラリを使用する方法は次のとおりです。

use Google_Service_Fusiontables;

$client_email = '<id>@developer.gserviceaccount.com';
$private_key = file_get_contents('<private key>.p12');
$scopes= array(
        'https://www.googleapis.com/auth/fusiontables',
        'https://www.googleapis.com/auth/fusiontables.readonly',
        );
$credentials = new Google_Auth_AssertionCredentials(
    $client_email,
    $scopes,
    $private_key
);

$client = new Google_Client();
$client->setAssertionCredentials($credentials);
if ($client->getAuth()->isAccessTokenExpired()) {
  $client->getAuth()->refreshTokenWithAssertion();
}

$service = new Google_Service_Fusiontables($client);
$result = $service->query->sql('SELECT <column> FROM <table id>');
var_dump($result);
于 2015-02-05T11:26:23.443 に答える
0
  1. PHPクライアントライブラリがあり、必要に応じて使用できます(PHPからFusion Tablesにアクセスする最も簡単な方法です)

  2. クライアントライブラリの隣にはPHPサンプルコードもあります。見てみると、おそらく概念を理解するのに役立ちます。

  3. ライブラリを使用すると、SQLステートメントを簡単に記述できます。

    select latitude from 123456 where id = 5;
    

123456フュージョンテーブルのテーブルIDを参照します。テーブルがパブリックの場合、認証についても気にする必要はありませんが、プライベートテーブルにアクセスしたり、データを更新/挿入したりする場合は、認証にOAuthを使用することをお勧めします。

一般的なサンプルコードは、Google FusionTablesAPIサンプルコードにあります。

于 2012-04-10T22:46:44.337 に答える