2014-07-03 105 views
0
<?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行。请帮帮我。我这样做是为了管理学生费用。我被困在逻辑中。while循环内部for循环不工作时取取mysql行

+2

什么是'$ result5 '? – Sadikhasan

+0

$ result = mysql_query(“.....”) – Shaan

回答

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:不是mysql_ *它被废弃使用mysqli_*

+0

帮助我达到某种程度但不完全。 – Shaan