虽然循环内部for循环在获取mysql行时不起作用

时间:2014-07-03 07:03:38

标签: php

<?php 
echo '<table>';
for($i=1;$i<=12;$i++)
{               
echo '<tr>';
while($row5=mysql_fetch_array($result5))
{
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 
echo '<td rowspan="12">'.$row5[3].'</td>';
}
echo '</tr>';
}
echo '</table>';
?>

此代码仅打印一行而不是12行。请帮我。我这样做是为了管理学费。我坚持逻辑。

1 个答案:

答案 0 :(得分:0)

在之前创建一个带有sql结果的数组:

$data = array();

while( $row5 = mysql_fetch_array($result5) )
    $data[] = $row5;

然后将其替换为:while($row5=mysql_fetch_array($result5))

foreach ( $data as $row5 ) {
    if($row5[3]=='monthly')
        echo '<td>'.$row5[3].'</td>';

    // ...
}

PS:使用mysqli_*代替不推荐使用的mysql_ *