2012-03-21 63 views
1

我有5000+的行和列8+如表,使用PHP的Postgres

Station Lat Long Date Rainfall Temp Humidity Windspeed 
Abcd - - 09/09/1996 - - - - 
Abcd - - 10/09/1996 - - - - 
Abcd - - 11/09/1996 - - - - 
Abcd - - 12/09/1996 - - - - 
Efgh - - 09/09/1996 - - - - 
Efgh - - 10/09/1996 - - - - 
Efgh - - 11/09/1996 - - - - 
Efgh - - 12/09/1996 - - - - 

我開發一個Web應用程序,在用戶將選擇像雨一列從表中選擇特定的列/溫度/溼度和特定日期。

任何人都可以指導我如何在PHP,Postgres的查詢這一點。 (數據庫:Postgres的,表:weatherdata,用戶:用戶名,密碼:密碼)

在此先感謝。

回答

1

你可以使用一些這樣的代碼:

public function getData ($date, $columnsToShow = null) { 

    /* You could check the parameters here: 
    * $date is string and not empty 
    * $columnsToShow is an array or null. 
    */ 

    if (isset ($columnsToShow)) 
    $columnsToShow = implode (',', $columnsToShow); 
    else $columnsToShow = "*"; 

    $query = "select {$columnsToShow} 
      from table 
      where date = '{$date}'"; 

    $result = array(); 
    $conex = pg_connect ("host=yourHost user=yourUser password=yourUser dbname=yourDatabase"); 
    if (is_resource ($conex)) { 
    $rows = pg_query ($conex, $query); 

    if ($rows) { 
     while ($data = pg_fetch_array ($rows, null, 'PGSQL_ASSOC')) 
     $result[] = $data; 
    } 
    } 
    return (empty ($result) ? null : $result); 
} 

現在你可以調用,例如,像這樣:

getData ('2012-03-21', array ('Station', 'Rainfall')); 

我希望您服務。

+0

感謝您的回覆,我西港島線嘗試一下...... – Kishor 2012-03-21 13:23:07