ホームページ >データベース >mysql チュートリアル >ヘッダーを手動で指定せずに、MySQL データから HTML テーブルを動的に生成するにはどうすればよいですか?
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 中国語 Web サイトの他の関連記事を参照してください。 mysql html define if for select mysqli pdo using function this display column input table td tr th database 声明: この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。 |
---|