假设我有一个用户在数据库中输入了12个链接,但是当它们显示时,我想将链接分成3个组并重复三个组,直到显示所有12个扭结为止。
<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>';
}
}
答案 0 :(得分:1)
这样的东西会让你获得每个div三个链接。我们在最后添加了额外的条件回声,用于没有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>';
}
答案 1 :(得分:0)
如果你想在每次达到3时避免递增/重置i,你可以使用模数运算符:
http://php.net/manual/en/language.operators.arithmetic.php
类似的东西:
if( $i%3 == 0 ){
// divisible by 3...
}
答案 2 :(得分: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;
}