我想在主<div class="cols">
循环中添加3个<div class="rows">
块
我从DB
获取数据并格式化为3 <div class="cols">
个cals和<div class="rows">
行。
我需要跟随:
<div class="rows">
<div class="cols"></div>
<div class="cols"></div>
<div class="cols"></div>
</div>
<div class="rows">
<div class="cols"></div>
<div class="cols"></div>
<div class="cols"></div>
</div>
<div class="row">
<div class="cols"></div>
<div class="cols"></div>
<!-- if total record is 8 then display only 2 divs -->
</div>
那么我在循环中编写的内容是为了使它动态化?
答案 0 :(得分:0)
您可以使用嵌套
<?php foreach($rows as $row){?>
<div class = "rows">
<?php foreach($row['cols'] as $col){?>
<div class = "cols"></div>
<? }?>
</div>
<?php }?>
答案 1 :(得分:0)
你有来自数据库的数据,你可能使用while
循环,你只需要计算并记住当前的迭代。
这是可行的代码,我没有测试过。至少关键是如何做到这一点。
PS。此代码要求您不要在一个数组中使用嵌套数组和数据库中的X条记录。
$i = 0;
while ($row = $mysqli->fetch_assoc($result)) {
$i++;
echo $i % 3 == 1 ? '<div class="rows">' : ''; // open .rows div during the first, fourth, etc. loop
echo '<div class="cols">' . $row['data'] . '</div>'; // write data
echo $i % 3 == 0 ? '</div>' : ''; // close .rows div in the third, sixth, etc. loop
}
if ($i % 3 != 0) {
echo '</div>'; // if the last iteration didn't close the .rows div, close that now
}
如果您将拥有嵌套数组,解决方案将更加清晰。
foreach ($data as $row) {
echo '<div class="rows">';
foreach ($row as $item) {
echo '<div class="cols">' . $item .' </div>';
}
echo '</div>';
}
答案 2 :(得分:0)
你试试这个:
$data = array('A', 'B', 'C', 'D', 'E'); //you get from database
$cnt = 1;
foreach ($data as $dt) {
if ($cnt%3 == 1) {
echo "<div class='rows'>";
}
echo "<div class='cols'>";
echo $dt;
echo "</div>"; //close "class=cols" div
if ($cnt % 3 == 0) {
echo "</div>"; //close "class=rows" div
}
$cnt++;
}
if ($cnt%3 != 1)
{
echo "</div>"; //close "class=rows" div
}
答案 3 :(得分:0)
for ($i=0;$i<10;$i++) {
if ($i % 3 == 0) {
?>
<div class = "rows">
<?php
}
?>
<div class = "cols"></div>
<div class = "cols"></div>
<div class = "cols"></div>
<?php
if ($i % 3 == 0) {
?>
</div>
<?php
}
?>
<?php
}
?>
答案 4 :(得分:0)
<?php
$sql = mysql_query('your query');
$count = mysql_num_rows($sql);
$i = 3;
while($row = mysql_fetch_array($sql)){
if($i % 3 == 0){
echo '<div class="rows">';
}
echo '<div class="cols">Your data</div>';
$i++;
}
if($i % 3 == 0){
echo '</div>';
}
?>