$currentpage=8; //当前页
$halfper=4;//左右各有多少页
$totalpages=50;//总共有多少页
for($i=$currentpage-$halfper,$i>1||$i=1,$j=$currentpage+$halfper,$j<$totalpages||$j=$totalpages;$i<$j+1;$i++){
$linkpage .= ($i==$currentpage)?'<em rel="currentpage">'.$i.'</em>':'<a href="#" style="margin-left:8px;">'.$i.'</a>';
}
ps:这是一段分页代码...
格式化一下,方便看:
$currentpage=8; //当前页
$halfper=4;//左右各有多少页
$totalpages=50;//总共有多少页
for(
$i=$currentpage-$halfper,$i>1||$i=1,$j=$currentpage+$halfper,$j<$totalpages||$j=$totalpages;
$i<$j+1;
$i++
)
{
$linkpage .= ($i==$currentpage)?'<em rel="currentpage">'.$i.'</em>':'<a href="#" style="margin-left:8px;">'.$i.'</a>';
}
把for里第一个语句提出来,就是这个结果了:
$currentpage=8; //当前页
$halfper=4;//左右各有多少页
$totalpages=50;//总共有多少页
$i=$currentpage-$halfper; //计算最左页应该是第几页
if($i<=1) //如果最左页不大于1就设置为1(其实这里==1时也不用设置)
$i=1;
$j=$currentpage+$halfper; //计算最右页应该是第几页
if($j>=$totalpages) //如果最右页大于等于总页数,设置为最大页
$j=$totalpages;
for(;$i<$j+1;$i++)
{
if($i==$currentpage)
$linkpage .= '<em rel="currentpage">'.$i.'</em>';
else
$linkpage .= '<a href="#" style="margin-left:8px;">'.$i.'</a>';
}