PHP对我来说是一种外来语言。我试图从WP的SQL数据库中提取一些字段。内容出来没问题,但是很多。我想以某种方式将它放在HTML轮播或一些滑块中,其中数据必须格式如下:
<holder1>
<data1></data1>
<data2></data2>
<data3></data3>
</holder1>
<holder2>
<data4></data4>
<data5></data5>
<data6></data6>
</holder2>
我想我必须为i&lt; 4做一些for循环,然后进入holder2。
回显data =
的当前脚本while($row = mysql_fetch_array($rs)) {
echo "<div class='testimonials flexslider'><ul class='slides'><li class='testimonial flex-active-slide'><blockquote><p>" . $row['post_content'] . "</p><cite><span>" . $row['post_title'] . "</cite></span></blockquote></li></ul></div>"; }
根据我使用的旋转木马,我希望在每个<li>
个项目之后分解为单独的<div>
或<article>
。
答案 0 :(得分:2)
你需要一个索引变量,当它被3整除时,它会回绕包装器的开头,而当它除以3时(和最后一端)离开2的余数时,包装器的结尾。看起来这段代码可行:
$index = 0;
while($row = mysql_fetch_array($rs)) {
if ($index % 3 == 0) {
echo "<div class='testimonials flexslider'><ul class='slides'>";
}
echo "<li class='testimonial flex-active-slide'><blockquote><p>" . $row['post_content'] . "</p><cite><span>" . $row['post_title'] . "</cite></span></blockquote></li>";
if ($index % 3 == 2) {
echo "</ul></div>";
}
$index++;
}
if ($index % 3 != 2) {
echo "</ul></div>";
}
编辑:澄清数学的一些解释。假设你有10个结果。因为我们通常在编程中从0开始计算,所以它们可以编号为0到9。这将使您的结构看起来像这样:
<holder>
<data0></data0>
<data1></data1>
<data2></data2>
</holder>
<holder>
<data3></data3>
<data4></data4>
<data5></data5>
</holder>
<holder>
<data6></data6>
<data7></data7>
<data8></data8>
</holder>
<holder>
<data9></data9>
</holder>
你看到我们在元素0,3,6和9之前需要一个<holder>
- 所有可以被3整除的数字。在数学上,这是用remainder函数表示的 - 一个数字当除以3后的余数为零时,可被3整除。
同样,在元素2,5和8之后我们需要</holder>
- 除以3后的数字留下2的余数。
我们需要处理最后一个块未完成的情况;这就是为什么有一个额外的代码块来处理上一个</holder>
。