0

我有一个 2 下拉列表,其中包含 Postgres 数据库的表名。现在我有用户选择后的 JOIN 表。在这里,我为下拉列表实现了一个代码。

测试.php

$resultLevel = pg_query($conn, "SELECT f_table_name FROM geometry_columns"); 
if (!$resultLevel) {
echo "An error occured.\n";
exit;
}
echo "LEVEL: \t";
echo "<select name='cat'><option value=''>Select one</option>";
while($noticia = pg_fetch_array($resultLevel)) {
echo  "<option value='$noticia[f_table_name]'>$noticia[f_table_name]</option>";
}
echo "</select>\n";
$resultParameter = pg_query($conn, "SELECT table_name FROM information_schema.columns WHERE column_name != 'the_geom' AND column_name= 'districtcode'");
if (!$resultParameter) {
echo "An error occured.\n";
exit;
}
echo "\n PARAMETER:";                               
echo "<select name='subcat'><option value=''>Select one</option>";
while($noticia1 = pg_fetch_array($resultParameter)) {
echo  "<option value='$noticia1[table_name]'>$noticia1[table_name]</option>";
}
echo "</select>";`

现在我有来自级别的 JOIN 表和来自参数的表。下拉列表中的表格是

级别:(下拉列表 1)

区:
distco(pkey)、区、shp_area、shp_length、popln。

塔卢克:
talukco(pkey),taluk, distco, 区, shp_area, shp_length, popln。

全科医生:
gpco(pkey),gp,talukco,taluk, distco, 区, shp_area, shp_length, popln。

参数:(下拉列表2)

学校:
id(pkey),gpco,gp,talukco,taluk, distco, 区, govt_school, pvt_school。

识字:
id(pkey),gpco,gp,talukco,taluk, distco, 区, m_lit, f_lit。

医院:
id(pkey),gpco,gp,talukco,taluk, distco, 区, govt_hosp, pvt_hosp

如何在运行时加入上述表格,我必须以表格形式显示它。我没有得到如何实时对 onclick 函数进行 JOIN 查询。任何人都可以帮助形成这一点。提前致谢。 在此处输入图像描述

4

1 回答 1

1

尝试这样的事情:

<?php
//NB added form tag here
echo "<form>";
echo "LEVEL: \t";
//NB added js onchange 
echo "<select name='cat' onchange="javascript: this.form.submit()"><option value=''>Select one</option>"; ///NB asd
while($noticia = pg_fetch_array($resultLevel)) {
echo  "<option value='$noticia[f_table_name]'>$noticia[f_table_name]</option>";
}
..................
//NB modified query here
$resultParameter = pg_query($conn, "SELECT table_name FROM information_schema.columns WHERE column_name != 'the_geom' AND column_name= ".$_POST['cat']);
于 2012-08-09T07:57:26.623 回答