PHP динамически выводит столбцы результатов запроса без использования имени столбца - PullRequest
0 голосов
/ 27 сентября 2018

Я пытаюсь вывести результаты запроса в <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' не обязательно будет отображаться в этом порядке и не обязательно иметь этот конкретныйname.

Я бы хотел сохранить определенный пользователем порядок и динамические имена столбцов, уже отсортированные из запроса.

Как этого добиться, не используя имена столбцов - $row['dynamic_col_X'] видякак это меняется от одного пользователя к другому?Есть ли способ использовать ключи массива или что-то подобное?

Ответы [ 2 ]

0 голосов
/ 27 сентября 2018

Вы можете взорвать $row:

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

Возвращает [...] строковое представление всех элементов массива в том же порядке с помощью клеястрока между каждым элементом.

0 голосов
/ 27 сентября 2018

Вы можете попробовать foreach, циклически перебирая столбцы, а затем настроить, чтобы они подходили к тому, что вы делаете:

foreach ($row as $column => $value) {
    echo $column . ' ' . $value;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...