Я тестирую вывод запросов в html
таблицы, но по какой-то причине не могу понять, почему пропущена первая запись запросов.
Предположим, мой запрос имеет вид $userResults = pg_query($db,"SELECT * FROM users;");
И мой table
as;
<table id='table1'>
<div id='t1' class='table100-head'>
<thead>
<tr class='row100 head' id="tblHeader">
<!-- Table header -->
<?php
$header = pg_fetch_assoc($userResults);
foreach ($header as $column => $value) {
$columnName = trim($column,"'");
echo "<th class='cell100 column2'>" . $columnName . "</th>";
}
?>
</tr>
</thead>
</div>
<div class='table100-body js-pscroll'>
<tbody id="tblBody">
<?php
while ($body = pg_fetch_assoc($userResults)) {
echo "<tr class='row100 body'>";
foreach ($body as $column2 => $value2) {
echo "<td class='cell100 column2'>" . $value2 . "</td>";
}
echo "</tr>";
}
?>
</tbody>
</div>
</table>
Приведенное выше приведёт ко всем строкам, как и ожидалось в <tbody>
, за исключением самой первой записи.Например, если, скажем, результаты имели бы user_id от 1 до 10, появилось бы только от 2 до 10.
Я знаю, что это связано с циклами, но я не могу указать, где именно.Причина, по которой я не хочу использовать цикл while исключительно потому, что
- Я не хочу, чтобы программно указывались имена столбцов.
- Имена столбцов будут отличатьсяот пользователя к пользователю
Как это исправить?