我必须根据DB
中提供的数据显示在下面的代码段<div id="testimonial-row">
<div id="testimonial">
<ul>
<li>"Hello World"</li>
</ul>
</div>
<div id="testimonial">
<ul>
<li>"Hello World"</li>
</ul>
</div>
<div id="testimonial">
<ul>
<li>"Hello World"</li>
</ul>
</div>
</div>
也就是说,每当数据计数(此处为hello world)大于3时,都应创建<div id="testimonial-row">
,因此,如果数据计数为“16”,则<div id="testimonial-row">
应创建6次,并在创建的6个<div>
标记
那么有人可以告诉我如何实现for循环以在PHP中实现这一点吗?
答案 0 :(得分:2)
如果我理解你的问题:
for($z=0;$z<16;$z++)
{
if($z==0) print '<div class="testimonial-row">';
else if($z%3==0) print '</div><div class="testimonial-row">';
print '<div class="testimonial"><ul><li>"Hello World"</li></ul></div>';
}
print '</div>';
答案 1 :(得分:1)
echo '<div class="testimonial-row">';
for ($i=1;$i<=$mysql_num_rows($res);$i++)
{
$row = mysql_fetch_array($res);
echo '<div class="testimonial">';
echo ' <ul>';
echo ' <li>'.$row['field'].'</li>';
echo ' </ul>';
echo '</div>';
if ($i%3 == 0) echo '</div><div class="testimonial-row">';
}
echo '</div>';
你不应该使用id =“testimonial-row”或id =“testimonial”。而是使用class =“testimonial-row”。
答案 2 :(得分:0)
这是一些代码
$count = db_select_count...
$lastGroupCount = $count % 3;
$fullGroupCount = $count - lastGroupCount;
for ($i=0; $i<$fullGroupCount; $i++)
{
output_testimonial_row_html(maybe_pass_an_id);
for ($j=0; $j<3; $j++)
{
output_testimonial_html($count[$i*3+$j]);
}
close_div();
}
if ($lastGroupCount > 0)
{
output_testimonial_row_html(maybe_pass_an_id)
for ($j=0; $j<$lastGroupCount; $j++)
{
output_testimonial_html($count[$fullGroupCount*3+$j]);
}
close_div();
}