2014-07-09 51 views
0

我正在創建一個學生收費管理表單。 我fee_inventory表具有ID,FEE_NAME,量,fee_type,階級,會議PHP循環無法創建動態HTML表格

fee_type場可按月,按季度,halfyearly,每年

現在我想顯示一個表,其中每個FEE_NAME會有12個月

如果fee_type = '季度' 行跨度= '3' 如果fee_type = 'halfyearly' 行跨度= '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

什麼是'for'循環在這種情況下怎麼辦?看起來你只是迭代'$ data'多12次? – Darren

+0

可以請你澄清你的意思是什麼?「一旦它獲得rowspan = 3它不應該打印特定的下兩個$ i值。」 –

+0

for循環是12個月... – Shaan

回答

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>'; 
?> 
+0

仍然不能工作 – Shaan

+0

你能告訴我它的結果是什麼樣的屏幕截圖 –