Это немного зависит от того, как возвращается ваш набор результатов, но на основании приведенного выше кода я буду считать, что ваш результат представляет собой массив массивов.
Сначала подумайте, что вы хотите: вы хотите HTMLтаблица с заголовком, который дает имя для каждого столбца, а затем содержит строку для каждой записи в вашем наборе результатов.
Мне очень не нравится смешивать php и html, поэтому я буду использовать другой стиль синтаксиса, ношаги одинаковы, независимо от того, какой стиль вы используете.Этот способ облегчает чтение логики.
Сначала создайте таблицу.
<?php
$html = '<table>';
Теперь вы хотите добавить заголовок таблицы и создать ячейку для каждого столбца втвой результат.Прежде чем сделать это, вы должны ответить: где вы собираетесь взять имена для ваших столбцов?Есть два возможных ответа;1) непосредственно из результатов вашего запроса или 2) жестко закодировать их.
Получение их непосредственно из результатов запроса гораздо более гибкое, но имена, которые вы задаете для столбцов базы данных, не всегда могут быть людьми.дружественный.
$columnNames = ['Name', 'Address'];
---- ИЛИ ----
$firstRow = $result[0]; // of course we have checked that the result set is not empty!
$columnNames = array_keys($firstRow); // adjust if rows are objects instead of arrays
Теперь выведите заголовок:
$html .= '<thead>';
foreach($columnNames as $columnName) {
$html .= '<th>' . $columnName . '</th>';
}
$html .= '</thead>';
Теперь мы можем перейти кbody, как и в ответе на предыдущий вопрос, создайте строку в таблице для каждого элемента в вашем наборе результатов.Для каждой строки у вас есть внутренний цикл, который создает разметку для каждой ячейки.
$html .= '<tbody>';
foreach($result as $row) {
$html .= '<tr>';
foreach($row as $cell) {
$html .= '<td>' . $cell . '</td>';
}
$html .= '</tr>';
}
$html .= '</tbody>';
$html .= '</table>';
print $html;