2012-04-10 7 views
1

Мое дело выглядит следующим образом: У меня есть база данных MySQL, которую я экспортировал и вставлял в таблицу Fusion. Теперь мне нужно изменить php-страницу при запросе данных из таблицы Fusion вместо localhost db.Querying Fusion-Table от PHP

Я читал о запросах Fusion-Tables из руководства разработчиков, но это относится к библиотеке GData Java и SQL API. На другом сайте я видел, что есть другие библиотеки, которые могут использоваться для запросов, включая фреймворк Zend, на котором опирается PHP, что имеет значение в моем случае. Однако я не наткнулся на какой-либо образец или учебник, который просто показывает страницу php о том, как вы можете запросить простую ячейку, строку или столбец, откуда я могу просто изменить и улучшить кодирование, чтобы применить его к дизайну.

Мои вопросы:

  1. мне нужно установить/загрузить на хостинг пространство какой-либо библиотеки делать?

  2. Есть ли пример php & учебник по запросу данных таблицы Fusion, возможно, я пропустил?

  3. Может ли кто-нибудь дать мне понять, как бы вы запрашивали, например, информацию о широте строки с идентификатором 5? (Страницы извлекаются с использованием пути: articles.php языки = еп & пг = comm_en & м = вид & commID = 88

Ниже кодирование я в comm_en.php страницы, которая запрашивает от PHP для SQL данных.

Спасибо заранее!

Дрини

<?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> 

ответ

0
  1. Существует PHP client library, вы можете использовать его, если вы хотите (это, вероятно, самый простой способ получить доступ к Fusion Tables из PHP)

  2. Рядом с библиотекой клиента Существует также PHP sample code, просто посмотрите, это, вероятно, помогает вы понимаете концепцию.

  3. При использовании библиотеки, вы можете просто написать SQL заявления, то есть что-то вроде

    select latitude from 123456 where id = 5; 
    

123456 относится к таблице идентификатор вашего фьюжн таблицы. Если ваша таблица является общедоступной, вам даже не нужно заботиться об аутентификации, но если вы хотите получить доступ к приватным таблицам или обновить/вставить данные, я бы рекомендовал использовать OAuth for authentication.

Пример кода в целом можно найти на Google Fusion Tables API Sample Code

3

Вот как использовать newest PHP API client library с Fusion Tables:

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);