动态访问查询结果集中所有行的所有列值

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

我正在尝试将查询结果输出到

<table>
,但我陷入了困境。

我知道我可以简单地做:

while ($row = pg_fetch_assoc($query)) {
       echo "<td class='cell100'>" . $row['name'] . "</td>";
       echo "<td class='cell100'>" . $row['dynamic_col_1'] . "</td>";
       echo "<td class='cell100'>" . $row['dynamic_col_2'] . "</td>";
       echo "<td class='cell100'>" . $row['dynamic_col_3'] . "</td>";
       echo "<td class='cell100'>" . $row['dynamic_col_4'] . "</td>";
       echo "<td class='cell100'>" . $row['dynamic_col_5'] . "</td>";
}

问题取决于用户的设置 -

'dynamic_col_1'
'dynamic_col_X'
不一定按该顺序出现,也不一定具有该特定名称。

我想保留用户定义的顺序和动态列名称,如已从查询中排序的那样。

如何在不使用列名称的情况下实现这一目标 -

$row['dynamic_col_X']
看到它从一个用户更改为下一个用户?有没有办法使用数组键或类似的东西?

php arrays postgresql loops
2个回答
2
投票

您可以尝试使用 foreach,循环遍历列,然后进行调整以适合您正在做的事情:

foreach ($row as $column => $value) {
    echo $column . ' ' . $value;
}

0
投票

你可以内爆

$row

while ($row = pg_fetch_assoc($query)) {
    echo '<td class="cell100">', implode('</td><td class="cell100">', $row), '</td>';
}

返回[...]以相同顺序表示所有数组元素的字符串表示形式,每个元素之间有粘合字符串。

© www.soinside.com 2019 - 2024. All rights reserved.