gpt4 book ai didi

php - 在 X 条记录 PHP 后结束 Foreach

转载 作者:行者123 更新时间:2023-11-29 05:21:49 25 4
gpt4 key购买 nike

我有以下查询:

$trabajos = $con->query("SELECT * FROM portafolio ORDER BY RAND() LIMIT 4");
while ($po = $trabajos->fetch_array()) {
$trab[] = $po;
}

这个查询工作正常,但是,它只显示了 4 条记录,但是在同一页的另一部分我又需要相同的表信息,但我不希望它受到限制,比如说我想要 10 条而不是只有 4. 所以。

  • 节标题
  • Section Slider <-- 这里只显示预期的 4 个项目

使用 foreach 如下:

foreach ($trab as $it) {
// My html Code
}
  • 中间部分一些信息
  • 主体部分更多信息
  • Section Mid End Footer <-- 这里我需要与 slider 部分相同的信息,但布局不同,而不是只有 4 个项目,我需要 10 个项目。

对于最后一项,我必须打开另一个与以前类似的查询。

$trabajos = $con->query("SELECT * FROM portafolio ORDER BY RAND() LIMIT 10");
while ($po = $trabajos->fetch_array()) {
$trab[] = $po;
}

所以我在想有没有办法使用:

$trabajos = $con->query("SELECT * FROM portafolio ORDER BY RAND()");
while ($po = $trabajos->fetch_array()) {
$trab[] = $po;
}

没有 LIMIT 的查询,而是将 foreach 限制为仅 fetch 前 4 行,或者有没有办法使用该查询使用 LIMIT 但不是 4 或 10,假设我使用 20,并且对于第一个 foreach 只显示前 4 个,对于第二个 foreach 显示前 4 个之后的其余部分。

主要思想是对同一信息的查询不超过 1 个。

最佳答案

这将退出一个循环,但为什么不查询 10 条记录,构建你的结果,全部 10 个,然后只输出其中的 4 个,在那里和远处的所有 10 个。

$x = 0;
foreach ($trab as $it) {

if($x == 5){
break; //will exit loop as will return.
}

// My html Code

++$x;
}

这适用于任何类型的循环,您也可以使用 continue 跳到循环的下一段

 foreach ($trab as $it) {

if($x < 5){
continue; //code below here wont run until $x >= 5.
}
// My html Code

++$x;
}

关于php - 在 X 条记录 PHP 后结束 Foreach,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24716925/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com