0
<?php
$i=1;
while ($i<=$totalpages) {
    if (($i>=($page-5) && $i<=($page+5) && $i<$totalpages) || $i==1 || ($i+1>$totalpages)) {

        echo "<td><a href=\"search.php?page=$i\">";
        if ($i=$page) {
        echo "<strong>  $i  </strong>";
        }
        if ($i!=$page) {
        echo "  $i  ";
        }
        echo "</a></td>";
        }
    $i++;
    }

?>

试图构建一个在页面底部输出一些搜索值的网页,但是我一直在无限循环。我不知道是什么原因造成的,并且希望其他人能够洞察手头的问题。

4

5 回答 5

2

你的 if 条件有问题

改变

$i =1 

$i==1
于 2013-04-22T11:04:56.007 回答
1

你有很多地方要重置 $i,我无意中假设

$i=1

$i=$page

将它们替换为==

于 2013-04-22T11:05:25.580 回答
0

条件有一些问题

第一:

|| $i=1||

总是返回真。为。。改变

|| $i==1||

二:adobe同案

if ($i=$page) //总是返回try是赋值操作

改成:

如果 ($i==$page)

于 2013-04-22T11:15:19.757 回答
0
<?php
        $i=1;
        while ($i<=$totalpages) {
            if (($i>=($page-5) && $i<=($page+5) && $i<$totalpages) || $i == 1|| ($i+1>$totalpages)) {

                echo "<td><a href=\"search.php?page=$i\">";
                if ($i == $page) {
                echo "<strong>  $i  </strong>";
                }
                if ($i!=$page) {
                echo "  $i  ";
                }
                echo "</a></td>";
                }
            $i++;
            }
?>

第一个和第二个 if 条件的变化。
1) $i == 1
2) $i == $page

于 2013-04-22T11:07:55.687 回答
0

有没有理由不能使用 for 循环来完成?如果存在导致永远循环的场景,则循环总是有风险且容易引起问题。

例如。

for ($i = 0; $i<=$totalpages; $i++){
 // do something
}
于 2013-04-22T11:11:35.640 回答