如何使用php-postgresql以表格格式获取查询结果?

时间:2012-08-09 11:28:40

标签: php xml postgresql

我坚持将结果显示为表格格式。我尝试了所有选项,如“pg_fetch_row,pg_fetch_array,pg_fetch_all_columns”,但我没有得到表格格式的结果。

查询部分工作正常,我也得到XML格式的结果,但我需要以表格格式显示它,它也应该包含列标题。

请有人建议我如何以表格形式获得结果。

我的PHP_PostgreSQL代码如下所示:

<?
$conn = pg_connect("user=postgres password=nkr@123 host=localhost dbname=test");
    if (!$conn) {
    echo "An error occured.\n";
    exit;
    }

$cat=$_POST['cat'];
$subcat=$_POST['subcat'];
echo "Value of \$cat = $cat <br>Value of \$subcat = $subcat \n";

$result = pg_query($conn, "SELECT * FROM $cat JOIN $subcat ON $cat.districtco=$subcat.districtcode");
if (!$result) {
echo "An error occured in result.\n";
exit;
}
echo $result;
if (!$result) {
echo "An error occured in xml_result.\n";
exit;
}
?>

我正在使用此代码以XML格式获取结果:

$xml_result="<resultxml>";
$num = pg_num_fields($result);
while($row = pg_fetch_array($result)){
$xml_result.="<record>"; 
for ($i=0; $i < $num; $i++)
{   
  $xml_result .= "<".pg_field_name($result, $i).">".$row[$i]."</".pg_field_name($result, $i).">";      
} 
$xml_result.="</record>";
}
$xml_result.="</resultxml>";
echo $xml_result;

1 个答案:

答案 0 :(得分:1)

你知道你应该用for()循环处理结果集,不是吗?

尽管psql会从HTML中选择性地吐出结果集,但这只会发生,因为psql是专门为此而编写的。