2012-01-14 54 views
0

我使用while循環在MySQL表中以DESC順序返回結果。我已經實現了分頁系統,其大小爲每頁9個記錄。問題是,如果我這樣做:php mysql - 第三個結果後回顯清除分區

// ECHO CSS BREAK 
if($row['id'] % 3 == 0){ 
    echo '<li class="clear"></li>'; 
} 

// SHOW VIDEOS 
while($row = mysql_fetch_array($result)){ 
    echo '<li>...echo code...</li>'; 
    // problem = implement that echo css break in ASC order 
} 

回答

0

這是你正在尋找實施?

// SHOW VIDEOS 
while($row = mysql_fetch_array($result)){ 
    if($row['id'] % 3 == 0){ 
     echo '<li>...echo code...</li>'; 
     echo '<li class="clear"></li>'; 
    } else { 
     echo '<li>...echo code...</li>'; 
    } 
} 
+0

@flo也是一個很好的觀點,因爲常數會更可靠,因爲ID可能不連續。 – Silvertiger 2012-01-14 20:39:21

+0

謝謝!但是這是DESC訂單的代碼。我的問題是我需要將從DESC到ASC的順序轉換。 – loverbot 2012-01-14 20:46:27

2

使用循環變量,例如,的

$i = 0; 

然後代替

if ($row['id'] % 3 == 0) { 

if (++$i % 3 === 0) { 

這將確保它總是會發生的第三[第六,第九,...]時間。 您可能想要在另一時間點從數據庫中獲取任意行,或者洗牌結果 - 依靠行ID不是一個好主意。

+0

謝謝,它的工作! ;) – loverbot 2012-01-14 20:46:56