[英]php multiple alternate column loop
我是php和html的新手,我试图从数据库表记录集创建这样的输出。 其中“表记录n”是数据库表记录集中的列
基本上,表将是1x2x1x2x4列,具有5行
<table border=1>
<tr>
<td>table record 1 </td>
</tr>
<tr>
<td> table record 2 </td> <td>table record 3 </td>
</tr>
<tr>
<td> table record 4 </td>
</tr>
<tr>
<td> table record 5 </td> <td>table record 6 </td>
</tr>
<tr>
<td> table record 7 </td>
<td>table record 8 </td>
<td> table record 9 </td>
<td>table record 10</td>
</tr>
</table>
我只到这一个
$next_Column = 1;
echo "<tr>";
while ( $row = mysql_fetch_array( $result ) )
{
echo "<td>". $row['name']. "</td>";
$next_Column ++;
if( $next_Column > 1 )
{
echo "<tr>";
$next_Column = 1;
}
}
?>
上面的循环将始终回显<tr>
,因为进入if
, $next_column
始终为>1。您需要使用嵌套循环来遍历各列。 类似于此页上的代码应有所帮助。 虽然,如果您知道您需要准确的格式,为什么不就这样制作您的php?
<table border=1>
<?php
while ( $row = mysql_fetch_array( $result ) )
{
echo '<tr><td>' . $row[0] . '</td></tr>';
echo '<tr><td>' . $row[1] . '</td><td>' . $row[2] . '</td></tr>';
echo '<tr><td>' . $row[3] . '</td></tr>';
echo '<tr><td>' . $row[4] . '</td><td>' . $row[5] . '</td></tr>';
echo '<tr><td>' . $row[6] . '</td><td>' . $row[7] . '</td>';
echo '<td>' . $row[8] . '</td><td>' . $row[9] . '</td></tr>';
}
?>
</table>
请注意,所有这些数字都可以用引号中的列名替换(例如'name'
)。 同样,上面的代码将为数据库中的每个行发出5个表行。 那是你要做什么?
编辑:如果您试图遍历每一行并将其添加到基于该行列数的表中,那么我建议这样的事情:
<table border=1>
<?php
while ( $row = mysql_fetch_array( $result ) )
{
echo '<tr>';
//Loop through cols
foreach($row as $value)
{
if($value)
{
echo '<td>' . $value . '</td>';
}
}
echo '</tr>'
}
?>
</table>
仅当值在数据库中时,才将值放在表行中,因此,如果一行中有1个填充的列,则得到1个表列,但有4个列填充的行将有4个表列。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.