0

我目前有一个页面上显示的项目循环。

我想运行循环两次(输出 2 个结果/项目),然后在第二个结果之后插入一个横幅,然后让循环从它停止的地方继续。

下图:

{ --- 循环开始 --- }

第 1 项 | 第 2
项 { 此处的横幅 }
第 3 项 | 第 4
项 第 5 项 | 第 6
项 第 7 项 | 第 8 项

{ --- 循环结束 --- }
<- prev | 下一个->

这些项目在一个while循环中:

$sql = mysql_query("SELECT id, img, description, keyword, category FROM images WHERE connect = 1 ORDER BY id DESC LIMIT $from , $perPage");

while($result = mysql_fetch_object($sql)) {
LOOP OF ITEMS HERE }

我只找到过“do”/“while”方法,这并不是我真正想要的。如果有人可以提供帮助,感谢您的时间和帮助。

4

2 回答 2

2
$i=1;
while($result = mysql_fetch_object($sql)) {
    //print item
    if($i==2) { 
        //print banner
    }
    $i++;
}

如果你想让它每两件你可以使用的物品打印一次

if($i % 2 == 0)
于 2012-05-20T18:57:11.860 回答
0

您也可以只打印循环外的第一个项目,然后打印横幅,然后遍历剩余的项目:

$result = mysql_fetch_object($sql)
// print item
// print banner
while($result = mysql_fetch_object($sql)) {
    // print item
}

Neil 的解决方案更通用,但这可能更简单。请注意,您的$sql资源有一个不会自动重置的内部指针,因此如果您在 while 循环之外调用它一次,while 循环将从第二项开始。在这种情况下,这就是你想要的。

于 2012-05-20T19:04:27.073 回答