MySQL과 PHP를 사용한 동적 HTML 테이블 생성
MySQL의 데이터로 채워진 HTML 테이블을 생성해야 하는 상황에 직면했을 수 있습니다. 그러나 테이블의 열 헤더는 자주 변경됩니다. 이러한 변경 사항을 반영하기 위해 코드를 수동으로 업데이트하는 것은 지루할 수 있습니다. 다음은 수동 헤더 지정 없이 MySQL 데이터에서 HTML 테이블을 동적으로 생성하는 솔루션입니다.
MySQLi 솔루션:
태그.
예: <?php // Create a MySQLi connection $mysqli = new mysqli('localhost', 'username', 'password', 'database'); function outputMySQLToHTMLTable(mysqli $mysqli, string $table) { // Check table existence $tableNames = array_column($mysqli->query('SHOW TABLES')->fetch_all(), 0); if (!in_array($table, $tableNames, true)) { throw new UnexpectedValueException('Unknown table name provided!'); } // Fetch data and metadata $res = $mysqli->query('SELECT * FROM ' . $table); $data = $res->fetch_all(MYSQLI_ASSOC); echo '<table>'; // Display table header echo '<thead>'; echo '<tr>'; foreach ($res->fetch_fields() as $column) { echo '<th>' . htmlspecialchars($column->name) . '</th>'; } echo '</tr>'; echo '</thead>'; // Display table rows if ($data) { foreach ($data as $row) { echo '<tr>'; foreach ($row as $cell) { echo '<td>' . htmlspecialchars($cell) . '</td>'; } echo '</tr>'; } } else { echo '<tr><td colspan="' . $res->field_count . '">No records in the table!</td></tr>'; } echo '</table>'; } // Output the table outputMySQLToHTMLTable($mysqli, 'user'); 로그인 후 복사 PDO 솔루션: PDO 접근 방식은 비슷하지만 테이블 이름 확인을 위해 fetchAll(PDO::FETCH_COLUMN)을 사용해야 하며 열 메타데이터용 getColumnMeta(). 이 접근 방식을 사용하면 코드에서 MySQL의 최신 테이블 구조를 기반으로 HTML 테이블을 동적으로 생성할 수 있으므로 수동 헤더 업데이트가 필요하지 않습니다. 위 내용은 헤더를 수동으로 지정하지 않고 MySQL 데이터에서 HTML 테이블을 동적으로 생성하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요! 원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
최신 이슈
자식 창이 부모 창을 작동하지만 출력이 응답하지 않습니다.
처음 두 문장은 실행 가능하지만 마지막 문장은 구현할 수 없습니다.
에서 2024-04-19 15:37:47
0
1
1900
상위 창에 출력이 없습니다.
document.onclick = function(){ window.opener.document.write('나는 자식 창의 출력입니다.');
에서 2024-04-18 23:52:34
0
1
1773
관련 주제
더>
|