php分页,分页的页码数字如果很多,怎么再分页?
比如“上一页12345下一页”当点击“下一页”时就出现“上一页678910下一页”我的已有代码:<?$n=mysql_query("select*frombiao1",$...
比如“ 上一页 12345 下一页” 当点击“下一页”时 就出现 “ 上一页678910下一页”
我的已有代码:
<?
$n=mysql_query("select * from biao1",$con);
$num=mysql_num_rows($n);
$page_t=3;
$page=$_GET['page'];
$ct=($page-1)*$page_t;
$ps=ceil($num/$page_t);
$x=mysql_query("select * from biao1 limit $ct,$page_t",$con);
while($a=mysql_fetch_array($x))
{
?>
<? echo $a['uid']."|".$a['sex']."|".$a['height']."|".$a['aihao']."|".$a['passwd']."<hr>"; ?>
<? } ?>
<br>
<?
for($i=1;$i<=$ps;$i++)
{
?>
<a href="fenye.php?page=<? echo $i; ?>" target="_parent"><? echo $i; ?></a>
<? } ?> 展开
我的已有代码:
<?
$n=mysql_query("select * from biao1",$con);
$num=mysql_num_rows($n);
$page_t=3;
$page=$_GET['page'];
$ct=($page-1)*$page_t;
$ps=ceil($num/$page_t);
$x=mysql_query("select * from biao1 limit $ct,$page_t",$con);
while($a=mysql_fetch_array($x))
{
?>
<? echo $a['uid']."|".$a['sex']."|".$a['height']."|".$a['aihao']."|".$a['passwd']."<hr>"; ?>
<? } ?>
<br>
<?
for($i=1;$i<=$ps;$i++)
{
?>
<a href="fenye.php?page=<? echo $i; ?>" target="_parent"><? echo $i; ?></a>
<? } ?> 展开
2个回答
展开全部
拿去用
<?php/** * @param int $total 总页数 * @param int $current 当前页 * @param int $pre 页面显示的页码数 */
function page($total,$current,$pre){ if(!intval($total)) { echo "$total 不是数字"; return false; } if(intval($current)>intval($total)) { echo "当前 $current 不能大于总页数"; return false; } if( ($pre%2) == 0 ) { echo '页面显示的页码不能为偶数'; return false; } $array = array(); for($i=1;$i<=$total;$i++) { $array[] = $i; } $num = intval($pre/2); $qm = array_slice($array,($current-$num-1),$num); //前面 $hm = array_slice($array,$current,$num); //后面 $zj = array($current); //中间不变位置的页码 if($total-$current<$num) { $newArray = array_slice($array,($total-$pre),$pre); } elseif($current<=$num) { $newArray = array_slice($array, 0 ,$pre); } else { $newArray = array_merge($qm,$zj,$hm); } return $newArray;}print_r(page(11,4,5));
<?php/** * @param int $total 总页数 * @param int $current 当前页 * @param int $pre 页面显示的页码数 */
function page($total,$current,$pre){ if(!intval($total)) { echo "$total 不是数字"; return false; } if(intval($current)>intval($total)) { echo "当前 $current 不能大于总页数"; return false; } if( ($pre%2) == 0 ) { echo '页面显示的页码不能为偶数'; return false; } $array = array(); for($i=1;$i<=$total;$i++) { $array[] = $i; } $num = intval($pre/2); $qm = array_slice($array,($current-$num-1),$num); //前面 $hm = array_slice($array,$current,$num); //后面 $zj = array($current); //中间不变位置的页码 if($total-$current<$num) { $newArray = array_slice($array,($total-$pre),$pre); } elseif($current<=$num) { $newArray = array_slice($array, 0 ,$pre); } else { $newArray = array_merge($qm,$zj,$hm); } return $newArray;}print_r(page(11,4,5));
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询