将行的查询输出到php中的表


Outputting a query of rows to a table in php

我使用以下代码从名为data_cases:的表中输出行

$query = 'SELECT * FROM mydb.data_cases 
WHERE id=123 ORDER BY log_date_time DESC';
$result = pg_query($query) or die("Failed".$query);
$line = pg_fetch_array($result, null, PGSQL_ASSOC);
while ($line = pg_fetch_array($result, null, PGSQL_ASSOC)) {
    echo "'t<tr>'n";
    foreach ($line as $col_value) {     
        echo "'t't<td>".$col_valuez."</td>'n";        
}

只有当有多条记录与该ID匹配时,上面的代码才有效。如果只有一行匹配,我什么也得不到。我认为我应该以不同的方式处理数据呈现部分。似乎只有一条记录仍然可以作为数组工作。我只是很困惑为什么前臂会忽略一行。我应该如何编写它,使其适用于一个或多个正确匹配的行?

感谢

您在while循环之前添加了以下代码

$line = pg_fetch_array($result, null, PGSQL_ASSOC);

删除这一行,它应该按预期工作

它"忽略"单行结果集,因为您正在使用它:

$line = pg_fetch_array($result, null, PGSQL_ASSOC);

这一行(在while语句之前)在您对结果集执行任何操作之前消耗结果集的第一行

只需将其完全移除即可。