2009-11-06 89 views
0

比方說,我有一個用戶在數據庫中輸入了12個鏈接,但是當他們顯示時,我想將鏈接拆分爲3個組,然後重複三個組,直到顯示所有12個扭結爲止。PHP和MySQL循環的幫助?

<div> 
    <p><a href="">Link 1</a></p> 
    <p><a href="">Link 2</a></p> 
    <p><a href="">Link 3</a></p> 
</div> 

這是我正在使用的代碼的一部分。我的代碼應該如何?

while ($row = mysqli_fetch_assoc($dbc)) { 
     if (!empty($row['category']) && !empty($row['url'])) { 
       echo '<div>'; 
       echo '<p><a href="' . $row['url'] . '" title="' . $row['category'] . ' Category Link">' . $row['category'] . '</a></p>'; 
       echo '</div>'; 
    } 

} 

回答

1

這樣的事情可以讓你每格三個鏈接。我們在年底時增加額外的條件回聲,如果你想避免增加有沒有的3個環節

$ctr = 0; 
while ($row = mysqli_fetch_assoc($dbc)) { 
    if (!empty($row['category']) && !empty($row['url'])) { 
     if ($ctr%3 == 0) { 
      echo '<div>'; 
     } 
     $ctr ++; 
     echo '<p><a href="' . $row['url'] . '" title="' . $row['category'] . ' Category Link">' . $row['category'] . '</a></p?'; 
     if ($ctr%3 == 0) { 
      echo '</div>'; 
     } 
    } 

} 
if ($ctr%3 != 0) { 
    echo '</div>'; 
} 
0

更簡單的方法會更喜歡:

while(true) { 
    $c = 0; 
    echo "<div>"; 
    while ($row = mysqli_fetch_assoc($dbc) && $c++ < 3) { 
     if (!empty($row['category']) && !empty($row['url'])) { 
      echo '<p><a href="' . $row['url'] . '" title="' . $row['category'] . ' Category Link">' . $row['category'] . '</a></p>'; 
     } 
    } 
    echo "</div>"; 
    if(empty($row)) 
     break; 
}