【发布时间】:2014-08-29 21:49:57
【问题描述】:
我正在创建一个学生费用管理表单。 我的 fee_inventory 表包括字段 id、fee_name、amount、fee_type、class、session
fee_type 字段可以是每月、每季度、每半年、每年
现在我想显示一个表格,其中每个 fee_name 将有 12 个月
如果 fee_type=' Quarterly' rowspan='3' 如果 fee_type='halfyearly' rowspan='6' 并且每年的行跨度将为 12
下面给出了我的 php 代码,它正在打印一个异常的表。 一旦它得到 rowspan=3,它就不应该打印下两个 $i 值的特定值。
帮我改正
<?php
echo '<table border="2"><tr>';
while($row4=mysql_fetch_array($result4))
{
echo '<td>'.$row4[1].'</td>';
}
echo '</tr>';
$data = array();
while( $row5 = mysql_fetch_array($result5) )
$data[] = $row5;
for($i=1;$i<=12;$i++)
{
echo '<tr>';
foreach ( $data as $row5 )
{
if($row5[3]=='monthly')
echo '<td>'.$row5[3].'</td>';
else if($row5[3]=='quarterly')
echo '<td rowspan="3">'.$row5[3].'</td>';
else if($row5[3]=='halfyearly')
echo '<td rowspan="6">'.$row5[3].'</td>';
else if( $row5[3]=='anually')
echo '<td rowspan="12">'.$row5[3].'</td>';
}
echo '</tr>';
}
echo '</table>';
?>
【问题讨论】:
-
for循环在这种情况下必须做什么?看来您只是将$data迭代了 12 次而不是应有的次数......? -
你能否澄清一下“一旦它得到 rowspan=3,它就不应该打印下两个 $i 值的特定值”是什么意思。
-
for 循环为 12 个月...
-
如果 $row[3]==' Quarterly' 它会打印一个 rowspan=3 的单元格。因此,对于运行 12 次的循环,我只需要从循环变量值 = 1、4、7、10 打印此单元格。这就是我卡住的逻辑
标签: php mysql loops html-table