2012-08-31 61 views
1

我已經有了這個循環的第一輪顯示正確。 我想要的是5列8列。我得到的是第一組顯示正確,第二組顯示爲10列。數據循環出錯了

我哪裏錯了?

echo '<table align="center" width="70%"><tr>'; 
$count = 0; 
$rowCount = 0; 
while ($row = mysql_fetch_array($result)) 
{ 
    $count++;  
    echo "<td><a href='" . $row['URL'] . "'><img src='" . $row['IMG'] . "' width='120' h  eight='160'/></a></td>"; 

if ($count % 8 === 0) 
{ 

    echo '</tr>'; 
$rowCount++; 

if($rowCount % 8 === 0) 
{ 
    echo '</tr></table><br><br>Adds here<br><br><tablealign="center" width="70%"><tr>'; 
}else{ 
    echo '<tr>'; 
} 
    } 
}  
echo ' </tr></table>'; 
+0

可以重置'計數= 0;'每一行 –

+0

您從查詢結果中獲得多少行後置 – Tarun

+0

請檢查您的HTML輸出。如果當前單元格是一個表格中的最後一個單元格,則會關閉兩次。另外,如果你只想要5行不應該是'$ rowCount%5'? – Paul

回答

1

你想讓它有點複雜。

分離出的列數與行數的功能:

<?php 

echo '<table align="center" width="70%"><tr>'; 
$count = 0; 
$rowCount = 0; 
while($row = mysql_fetch_array($result)) 
{ 
    $count++; 
    echo "<td><a href='" . $row['URL'] . "'><img src='" . $row['IMG'] . "' width='120' h  eight='160'/></a></td>"; 
    if($count%8===0) 
    { 
     $rowCount++; 
     echo '</tr>'; 

     if($rowCount%5===0) 
     { 
      echo '</table><br/><br/>Adds Here<br/><br/><table align="center" width="70%"><tr>'; 
      $rowCount = 0; 
     } 
    } 
} 
echo ' </tr></table>'; 
+0

'$ rowCount ++;'應該在'if($ count%8 === 0)'塊內。 –