Полное отображение MySQL таблицы в HTML
Подскажите, пожалуйста, php-код для полного отображения таблицы из MySQL в HTML, с тегами <table></table>, так, чтобы в шапке были имена полей. Нигде не мог найти удачного примера, свой очень громоздкий получился. Спасибо
Код:
<?php
function format_value($value) {
return empty($value) ? ' ' : htmlspecialchars($value);
}
$conn = mysql_connect('localhost', '***', '***');
$fields = mysql_list_fields('db_name', 'table_name');
$fields_num = mysql_num_fields($fields);
echo "<table border=\"1\">\n";
echo "<tr>\n";
for ($i = 0; $i < $fields_num; $i++)
echo '<th>'.mysql_field_name($fields, $i).'</th>'."\n";
echo "</tr>\n";
$sql = 'SELECT * FROM `db_name`.`table_name`';
$res = mysql_query($sql, $conn);
$db_row = mysql_fetch_array($res);
while ($db_row = mysql_fetch_row($res)) {
echo "<tr>\n";
foreach($db_row as $field_value)
echo '<td>'.format_value($field_value).'</td>'."\n";
echo "</tr>\n";
}
echo "</table>\n";
mysql_close($conn);
?>
function format_value($value) {
return empty($value) ? ' ' : htmlspecialchars($value);
}
$conn = mysql_connect('localhost', '***', '***');
$fields = mysql_list_fields('db_name', 'table_name');
$fields_num = mysql_num_fields($fields);
echo "<table border=\"1\">\n";
echo "<tr>\n";
for ($i = 0; $i < $fields_num; $i++)
echo '<th>'.mysql_field_name($fields, $i).'</th>'."\n";
echo "</tr>\n";
$sql = 'SELECT * FROM `db_name`.`table_name`';
$res = mysql_query($sql, $conn);
$db_row = mysql_fetch_array($res);
while ($db_row = mysql_fetch_row($res)) {
echo "<tr>\n";
foreach($db_row as $field_value)
echo '<td>'.format_value($field_value).'</td>'."\n";
echo "</tr>\n";
}
echo "</table>\n";
mysql_close($conn);
?>
Вот такое что-то...
По-моему, в самый раз! я забыл про функцию mysql_list_fields(), оч удобно)) спасибо большое=)
Код:
SELECT * ...
- это, вообще-то, не очень хорошая вещь для PHP-скрипта и большой базы. Если бы я делал реальный проект, я бы все-таки разбил вывод на страницы и делал выборку через какой-нибудь LIMIT.
проект небольшой - задание по практике, так что вполне хватит и этого)