這是一個代碼。 這將從數據庫中動態加載所有標題部分(即表格標題)。PHP MYSQL關聯數組和表
下面的代碼工作正常。但是列不匹配。 即標題的第一行第一列是空白的,並且表中存在錯位。
代碼
<table border="1">
<?php
$book_query = mysql_query("select * from book_master");
$i = 0;
while($row = mysql_fetch_assoc($book_query))
{
$columns = array_keys($row);
?>
<th>
<?php
foreach($columns as $column)
{
?>
<td><?php echo $column; ?> </td>
</th>
<?php
}
?>
<tr>
<?php
foreach($row as $key=>$value)
{
?>
<td><?php echo $value; ?></td>
<?php
}
?>
</tr>
<?php
$i++;
}
?>
</table>
編輯:
這裏是我的print_r($columns)
值:
Array ([0] => Author Name [1] => Book Name [2] => Rating [3] => Location)
我知道這個問題是與循環。有人可以幫我嗎?
這是可怕的代碼 - 你應該分開數據處理和輸出。你在這裏生成無效的HTML - 你正在將'td'元素放入'th'元素中; _both_屬於一個'tr',而不是相互嵌套。 – CBroe
CBroe - 現在它的工作很好。我已經改變了到tr。現在它沒事了。是的,正如你所說 - 可怕的代碼。 ;) – user3350885
不推薦使用mysql擴展。新代碼應該使用mysqli或PDO,它們都具有重要的優點,例如支持預處理語句。另外,除非您正在編寫數據庫管理程序,否則請勿使用['SELECT *'](http://stackoverflow.com/q/321299/);只選擇你需要的列。 – outis