我正在创建学生费用管理表。 我的fee_inventory表包括字段id,fee_name,金额,fee_type,类,会话
费用类型字段可以是每月,每季度,每半年,每年
现在我想显示一个表格,其中每个fee_name将有12个月
如果fee_type ='每季度'行跨度=' 3' 如果fee_type ='半年'行跨度=' 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>';
?>
答案 0 :(得分:1)
我相信你正在努力做到这一点
<?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;
echo '<tr>';
foreach ( $data as $row5 )
{
if($row5[3]=='monthly') {
echo '<td>'.$row5[3].'</td>';
for($i=1;$i<=11;$i++)
{
echo '<td></td>';
}
}
else if($row5[3]=='quarterly')
{
echo '<td rowspan="3">'.$row5[3].'</td>';
for($i=1;$i<=4;$i++)
{
echo '<td rowspan="3"></td>';
}
}
else if($row5[3]=='halfyearly')
{
echo '<td rowspan="6">'.$row5[3].'</td>';
for($i=1;$i<=2;$i++)
{
echo '<td rowspan="6"></td>';
}
}
else if( $row5[3]=='anually')
{
echo '<td rowspan="12">'.$row5[3].'</td>';
}
echo '</tr>';
}
echo '</table>';
?>