使用 php postgres 从表中选择特定列

问题描述 投票:0回答:1

我有 5000 多行和 8 多列的表格,例如,

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

我正在开发一个网络应用程序,用户将选择一个特定日期的列,例如降雨量/温度/湿度。

任何人都可以指导我如何在 php-postgres 中查询此内容。 (数据库:postgres,表:天气数据,用户:用户,密码:密码)

提前致谢。

php postgresql
1个回答
2
投票

您可以使用这样的代码:

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'));
© www.soinside.com 2019 - 2024. All rights reserved.