这是一个代码。这将从数据库中动态加载所有标题部分(即表的标题)。
下面的代码运行良好。但是列是不匹配的。即,标题的第一行第一列是空的,并且在表中存在错位。
代码
<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 )我知道问题出在循环上。有谁能帮帮我吗?
发布于 2014-04-01 21:42:34
你可以试着改变
<th>
<?php
foreach($columns as $column)
{ ?>
<td><?php echo $column; ?> </td>
<?php
}
?>
</th>至
<tr>
<?php
foreach($columns as $column)
{ ?>
<th><?php echo $column; ?> </th>
<?php
}
?>
</tr>发布于 2014-04-01 21:19:41
希望这能帮助到一些人。只是我已经用TR替换了TH标记,并且输出很完美。
<table border="1">
<?php
$book_query = mysql_query("select * from book_master");
while($row = mysql_fetch_assoc($book_query))
{
$columns = array_keys($row);
?>
<tr>
<?php
foreach($columns as $column){ ?>
<td><?php echo $column; ?> </td>
<?php } ?>
</tr>
<tr>
<?php
foreach($row as $key=>$value){ ?>
<td><?php echo $value; ?></td>
<?php } ?>
</tr>
</table>发布于 2014-04-01 21:25:05
删除这个标签,因为它创建了一个额外的单元格,所以你的布局搞乱了
<table border="1">
<?php
$book_query = mysql_query("select * from book_master");
$i = 0;
while($row = mysql_fetch_assoc($book_query))
{
if($i == 0){
$columns = array_keys($row);
?>
<?php
foreach($columns as $column){ ?>
<td><?php echo $column; ?> </td>
<?php } ?>
<?php } ?>
<tr>
<?php
foreach($row as $key=>$value){ ?>
<td><?php echo $value; ?></td>
<?php } ?>
</tr>
<?php
$i++;
}
?>
</table>https://stackoverflow.com/questions/22786306
复制相似问题