if($begin<0) $begin = 1;
if($begin!=1) $nav .= "<span style='font-size=$font_size;'>
[</span><a href='?$param' title='第1页'><span style='font-size=$font_size;'>第一页</span></a><span style='font-size=$font_size;'>]</spqn> ";
if($page>1) $nav .= "<span style='font-size=$font_size;'>
[</span><a href='?$param&page=".($page-1)."' title='第".($page-1)."页'><span style='font-
size=$font_size;'>上一页</span></a><span style='font-size=$font_size;'>]</span> ";
$end = ($begin+$per_screen>$pages_num)?
$pages_num+1:$begin+$per_screen;
for($i=$begin; $i<$end; $i++) {
$nav .=($page!=$i)?"<span style='font-size=$font_size;'>
[</span><a href='?$param&page=$i' title='第{$i}页'><span style='font-size=$font_size;'>$i</span></a><span style='font-size=$font_size;'>]</span> ":" <span style='font-
size=$font_size;'>[</span><span style='font-size=$font_size;color:red;'>$i</span><span style='font-
size=$font_size;'>]</span> ";
}
if($page<$pages_num) $nav .= "<span style='font-
size=$font_size;'>[</span><a href='?$param&page=".($page+1)."' title='第".($page+1)."页'><span style='font
-size=$font_size;'>下一页</span></a><span style='font-size=$font_size;'>]</span> ";
if($end!=$pages_num+1) $nav .= "<span style='font-
size=$font_size;'>[</span><a href='?$param&page=$pages_num' title='第{$pages_num}页'><span style='font-
size=$font_size;'>最后页</span></a><span style='font-size=$font_size;'>]</span> ";
break;
case 4:
if ($page > 1) {
$nav .= '<a href="?page=1&'.$param.'"><span style=\'font-
size=$font_size;\'>首页</span></a> <span style=\'font-size=$font_size;\'>|</span> ';
$nav .= '<a href="?page='.($page-1).'&'.$param.'"><span
style=\'font-size=$font_size;\'>上页</span></a> <span style=\'font-size=$font_size;\'>|</span> ';
}else {
$nav .= '<span style="font-size=$font_size;">首页 |</span> ';
$nav .= '<span style="font-size=$font_size;">上页 |</span> ';
}
if ($page < $pages_num) {
$nav .= '<a href="?page='.($page+1).'&'.$param.'"><span
style=\'font-size=$font_size;\'>下页</span></a> <span style=\'font-size=$font_size;\'>|</span> ';
$nav .= '<a href="?page='.$pages_num.'&'.$param.'"><span
style=\'font-size=$font_size;\'>末页</span></a>';
}else {
$nav .= '<span style=\'font-size=$font_size;\'>下页 |</span> ';
$nav .= '<span style=\'font-size=$font_size;\'>末页</span>';
}
break;
case 5:
$param .="per_page=".$per_page."&";
if ($page > 1) {
$nav .= '<a href="?page=1&'.$param.'"><span style=\'font-
size=$font_size;\'>首页</span></a> <span style=\'font-size=$font_size;\'>|</span> ';
$nav .= '<a href="?page='.($page-1).'&'.$param.'"><span
style=\'font-size=$font_size;\'>上页</span></a> <span style=\'font-size=$font_size;\'>|</span> ';
}else {
$nav .= '<span style="font-size=$font_size;">首页 |</span> ';
$nav .= '<span style="font-size=$font_size;">上页 |</span> ';
}
if ($page < $pages_num) {
$nav .= '<a href="?page='.($page+1).'&'.$param.'"><span
style=\'font-size=$font_size;\'>下页</span></a> <span style=\'font-size=$font_size;\'>|</span> ';
$nav .= '<a href="?page='.$pages_num.'&'.$param.'"><span
style=\'font-size=$font_size;\'>末页</span></a>';
}else {
$nav .= '<span style=\'font-size=$font_size;\'>下页 |</span> ';
$nav .= '<span style=\'font-size=$font_size;\'>末页</span>';
}
$nav .= ' <span style=\'font-size=$font_size;\'>第</span><select onchange="location.href=\'?'.$param.'&page=\'+this.value;">';
for($i=1; $i<=$pages_num; $i++) {
$nav .= '<option value="'.$i.'"'.($i==$page?'
selected':'').'>'.$i.'</option>';
}
$nav .= "</select><span style=\'font-size=$font_size;\'>页
</span>";
$nav .= ' <span style=\'font-size=$font_size;\'>每页</span><select
onchange="location.href=\'?'.$param.'&page='.$page.'&per_page=\'+this.v
alue;">';
$nav .= '<option value="10"'.(10==$per_page?'
selected':'').'>10</option>';
$nav .= '<option value="15"'.(15==$per_page?'
selected':'').'>15</option>';
$nav .= '<option value="20"'.(20==$per_page?'
selected':'').'>20</option>';
$nav .= '<option value="25"'.(25==$per_page?'
selected':'').'>25</option>';
$nav .= '<option value="30"'.(30==$per_page?'
selected':'').'>30</option>';
$nav .= '<option value="40"'.(40==$per_page?'
selected':'').'>40</option>';
$nav .= '<option value="50"'.(50==$per_page?'
selected':'').'>50</option>';
$nav .= '<option value="100"'.(100==$per_page?'
selected':'').'>100</option>';
$nav .= "</select><span style=\'font-size=$font_size;\'>条
</span>";
break;
/*下拉框直接跳转 */
case '6':
$param .="per_page=".$per_page."&";
$nav = '<span style=\'font-size=$font_size;\'>第</span><select onchange="location.href=\'?'.$param.'&page=\'+this.value;">';
for($i=1; $i<=$pages_num; $i++) {
$nav .= '<option value="'.$i.'"'.($i==$page?'
selected':'').'>'.$i.'</option>';
}
$nav .= "</select><span style=\'font-size=$font_size;\'>页
</span>";
$nav .= ' <span style=\'font-size=$font_size;\'>每页</span><select
onchange="location.href=\'?'.$param.'&page='.$page.'&per_page=\'+this.v
alue;">';
$nav .= '<option value="10"'.(10==$per_page?'
selected':'').'>10</option>';
$nav .= '<option value="15"'.(15==$per_page?'
selected':'').'>15</option>';
$nav .= '<option value="20"'.(20==$per_page?'
selected':'').'>20</option>';
$nav .= '<option value="25"'.(25==$per_page?'
selected':'').'>25</option>';
$nav .= '<option value="30"'.(30==$per_page?'
selected':'').'>30</option>';
$nav .= '<option value="40"'.(40==$per_page?'
selected':'').'>40</option>';
$nav .= '<option value="50"'.(50==$per_page?'
selected':'').'>50</option>';
$nav .= '<option value="100"'.(100==$per_page?'
selected':'').'>100</option>';
$nav .= "</select><span style=\'font-size=$font_size;\'>条
</span>";
break;
default:
$nav = '';
}
echo $nav;
}
?>
if($begin!=1) $nav .= "<span style='font-size=$font_size;'>
[</span><a href='?$param' title='第1页'><span style='font-size=$font_size;'>第一页</span></a><span style='font-size=$font_size;'>]</spqn> ";
if($page>1) $nav .= "<span style='font-size=$font_size;'>
[</span><a href='?$param&page=".($page-1)."' title='第".($page-1)."页'><span style='font-
size=$font_size;'>上一页</span></a><span style='font-size=$font_size;'>]</span> ";
$end = ($begin+$per_screen>$pages_num)?
$pages_num+1:$begin+$per_screen;
for($i=$begin; $i<$end; $i++) {
$nav .=($page!=$i)?"<span style='font-size=$font_size;'>
[</span><a href='?$param&page=$i' title='第{$i}页'><span style='font-size=$font_size;'>$i</span></a><span style='font-size=$font_size;'>]</span> ":" <span style='font-
size=$font_size;'>[</span><span style='font-size=$font_size;color:red;'>$i</span><span style='font-
size=$font_size;'>]</span> ";
}
if($page<$pages_num) $nav .= "<span style='font-
size=$font_size;'>[</span><a href='?$param&page=".($page+1)."' title='第".($page+1)."页'><span style='font
-size=$font_size;'>下一页</span></a><span style='font-size=$font_size;'>]</span> ";
if($end!=$pages_num+1) $nav .= "<span style='font-
size=$font_size;'>[</span><a href='?$param&page=$pages_num' title='第{$pages_num}页'><span style='font-
size=$font_size;'>最后页</span></a><span style='font-size=$font_size;'>]</span> ";
break;
case 4:
if ($page > 1) {
$nav .= '<a href="?page=1&'.$param.'"><span style=\'font-
size=$font_size;\'>首页</span></a> <span style=\'font-size=$font_size;\'>|</span> ';
$nav .= '<a href="?page='.($page-1).'&'.$param.'"><span
style=\'font-size=$font_size;\'>上页</span></a> <span style=\'font-size=$font_size;\'>|</span> ';
}else {
$nav .= '<span style="font-size=$font_size;">首页 |</span> ';
$nav .= '<span style="font-size=$font_size;">上页 |</span> ';
}
if ($page < $pages_num) {
$nav .= '<a href="?page='.($page+1).'&'.$param.'"><span
style=\'font-size=$font_size;\'>下页</span></a> <span style=\'font-size=$font_size;\'>|</span> ';
$nav .= '<a href="?page='.$pages_num.'&'.$param.'"><span
style=\'font-size=$font_size;\'>末页</span></a>';
}else {
$nav .= '<span style=\'font-size=$font_size;\'>下页 |</span> ';
$nav .= '<span style=\'font-size=$font_size;\'>末页</span>';
}
break;
case 5:
$param .="per_page=".$per_page."&";
if ($page > 1) {
$nav .= '<a href="?page=1&'.$param.'"><span style=\'font-
size=$font_size;\'>首页</span></a> <span style=\'font-size=$font_size;\'>|</span> ';
$nav .= '<a href="?page='.($page-1).'&'.$param.'"><span
style=\'font-size=$font_size;\'>上页</span></a> <span style=\'font-size=$font_size;\'>|</span> ';
}else {
$nav .= '<span style="font-size=$font_size;">首页 |</span> ';
$nav .= '<span style="font-size=$font_size;">上页 |</span> ';
}
if ($page < $pages_num) {
$nav .= '<a href="?page='.($page+1).'&'.$param.'"><span
style=\'font-size=$font_size;\'>下页</span></a> <span style=\'font-size=$font_size;\'>|</span> ';
$nav .= '<a href="?page='.$pages_num.'&'.$param.'"><span
style=\'font-size=$font_size;\'>末页</span></a>';
}else {
$nav .= '<span style=\'font-size=$font_size;\'>下页 |</span> ';
$nav .= '<span style=\'font-size=$font_size;\'>末页</span>';
}
$nav .= ' <span style=\'font-size=$font_size;\'>第</span><select onchange="location.href=\'?'.$param.'&page=\'+this.value;">';
for($i=1; $i<=$pages_num; $i++) {
$nav .= '<option value="'.$i.'"'.($i==$page?'
selected':'').'>'.$i.'</option>';
}
$nav .= "</select><span style=\'font-size=$font_size;\'>页
</span>";
$nav .= ' <span style=\'font-size=$font_size;\'>每页</span><select
onchange="location.href=\'?'.$param.'&page='.$page.'&per_page=\'+this.v
alue;">';
$nav .= '<option value="10"'.(10==$per_page?'
selected':'').'>10</option>';
$nav .= '<option value="15"'.(15==$per_page?'
selected':'').'>15</option>';
$nav .= '<option value="20"'.(20==$per_page?'
selected':'').'>20</option>';
$nav .= '<option value="25"'.(25==$per_page?'
selected':'').'>25</option>';
$nav .= '<option value="30"'.(30==$per_page?'
selected':'').'>30</option>';
$nav .= '<option value="40"'.(40==$per_page?'
selected':'').'>40</option>';
$nav .= '<option value="50"'.(50==$per_page?'
selected':'').'>50</option>';
$nav .= '<option value="100"'.(100==$per_page?'
selected':'').'>100</option>';
$nav .= "</select><span style=\'font-size=$font_size;\'>条
</span>";
break;
/*下拉框直接跳转 */
case '6':
$param .="per_page=".$per_page."&";
$nav = '<span style=\'font-size=$font_size;\'>第</span><select onchange="location.href=\'?'.$param.'&page=\'+this.value;">';
for($i=1; $i<=$pages_num; $i++) {
$nav .= '<option value="'.$i.'"'.($i==$page?'
selected':'').'>'.$i.'</option>';
}
$nav .= "</select><span style=\'font-size=$font_size;\'>页
</span>";
$nav .= ' <span style=\'font-size=$font_size;\'>每页</span><select
onchange="location.href=\'?'.$param.'&page='.$page.'&per_page=\'+this.v
alue;">';
$nav .= '<option value="10"'.(10==$per_page?'
selected':'').'>10</option>';
$nav .= '<option value="15"'.(15==$per_page?'
selected':'').'>15</option>';
$nav .= '<option value="20"'.(20==$per_page?'
selected':'').'>20</option>';
$nav .= '<option value="25"'.(25==$per_page?'
selected':'').'>25</option>';
$nav .= '<option value="30"'.(30==$per_page?'
selected':'').'>30</option>';
$nav .= '<option value="40"'.(40==$per_page?'
selected':'').'>40</option>';
$nav .= '<option value="50"'.(50==$per_page?'
selected':'').'>50</option>';
$nav .= '<option value="100"'.(100==$per_page?'
selected':'').'>100</option>';
$nav .= "</select><span style=\'font-size=$font_size;\'>条
</span>";
break;
default:
$nav = '';
}
echo $nav;
}
?>
对传入的page与每page所需的数量进行ceil(向上取整处理),再加上这部分采用了六种显示方式(case部分),更加大了代码的冗余。确定一种方式后删除后面的一些再看吧。那时会好读些。