我正在尝试将查询结果输出到<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']
看到它从一个用户更改为另一个用户?有没有使用数组键或类似方法的方法?
答案 0 :(得分:2)
您可以尝试使用foreach,遍历各列,然后进行调整以适合您的工作:
foreach ($row as $column => $value) {
echo $column . ' ' . $value;
}
答案 1 :(得分:0)
您可以implode $row
:
while ($row = pg_fetch_assoc($query)) {
echo '<td class="cell100">', implode('</td><td class="cell100">', $row), '</td>';
}
以相同顺序返回所有数组元素的字符串表示形式,其中每个元素之间都有粘合字符串。