PHP 分页回显内容
Pagination of PHP echoed Content
PHP 对我来说是一门陌生的语言。我正在尝试从 WP 的 SQL 数据库中提取一些字段。内容还可以,但内容很多。我想以某种方式将它放在 HTML 旋转木马或某些滑块中,其中数据的格式必须如下所示:
<holder1>
<data1></data1>
<data2></data2>
<data3></data3>
</holder1>
<holder2>
<data4></data4>
<data5></data5>
<data6></data6>
</holder2>
我想我必须为 i<4 做一些 for 循环,然后进入 holder2。
回显数据的当前脚本 =
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>"; }
我希望它在每个 3 <li>
项之后分解为单独的 <div>
或 <article>
根据我使用的旋转木马我认为合适的任何内容。
您需要一个索引变量,当它被 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>
.
PHP 对我来说是一门陌生的语言。我正在尝试从 WP 的 SQL 数据库中提取一些字段。内容还可以,但内容很多。我想以某种方式将它放在 HTML 旋转木马或某些滑块中,其中数据的格式必须如下所示:
<holder1>
<data1></data1>
<data2></data2>
<data3></data3>
</holder1>
<holder2>
<data4></data4>
<data5></data5>
<data6></data6>
</holder2>
我想我必须为 i<4 做一些 for 循环,然后进入 holder2。
回显数据的当前脚本 =
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>"; }
我希望它在每个 3 <li>
项之后分解为单独的 <div>
或 <article>
根据我使用的旋转木马我认为合适的任何内容。
您需要一个索引变量,当它被 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>
.