<?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++;
}
?>
尝试构建一个网页,在页面底部输出一些搜索值,但是我不断得到一个无限循环。我不知道是什么导致了它,并希望有人能够深入了解手头的问题。
答案 0 :(得分:2)
您的if条件有问题
更改
$i =1
与
$i==1
答案 1 :(得分:1)
你有很多地方可以重置$ i,无意中我假设
$i=1
和
$i=$page
将其替换为==
答案 2 :(得分: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++;
}
?>
第1和第2条情况的变化。
1)$ i == 1
2)$ i == $ page
答案 3 :(得分:0)
为什么使用for循环无法实现这一点?虽然循环总是存在风险并且容易导致问题,如果存在导致永远循环的情况。
例如。
for ($i = 0; $i<=$totalpages; $i++){
// do something
}
答案 4 :(得分:0)
条件中存在一些问题
首先:
|| $ I = 1 ||
总是回归真实。 更改
|| $ I == 1 ||
第二:adobe的相同案例
if($ i = $ page)// Allways返回try是赋值操作
更改为:
if($ i == $ page)