<?php
$subscibe = array(
"两性玻璃",
"彩色笑话",
"情趣测试",
"魔法测试",
"名句赏析",
"流氓兔讲",
"悠悠情人",
"无敌追求",
"英语小霸",
"爱情测试",
"天气预报",
"开心笑话" 
);echo "<html><body>";$count=12;
$msgPerPage=3;
$start=$page*$msgPerPage;
$end=$start+$msgPerPage;
if($end>$count)
$end=$count;
$totalpage=ceil($count/$msgPerPage);if($page>0)
$indexstr=$indexstr."<a href=test.php?page=".($page-1).">  上一页</a>";
for($i=0;$i<$totalpage;$i++)
{
    if($i!=$page)
     $indexstr=$indexstr."<a href=test.php?page=$i>  [    ".($i+1)."  ]  ";
  
     else
     {
     $indexstr=$indexstr."<font color=#8080FF>[   ".($i+1)."  ] </font>";
     }     if(!($i==$page&&$i==($totalpage-1))) 
     $indexstr=$indexstr."  |";
}
     if($page<($totalpage-1))
     $indexstr=$indexstr."<a href=test?page=".($page+1).">下一页</a>";
echo "<p>$indexstr</p>\n";for($i=$start;$i<$end;$i++)
{
echo $subscibe[$i];
echo "<br>";
} echo "</body></html>"
?>

解决方案 »

  1.   

    先计算出数组的大小,在定义没页显示的数量,不就可以可吗,
    下面的代码可以实现数组分页,(我没有优化,你优化一下代码吧.)<?
    $subscibe =array(
    "两性玻璃",
    "彩色笑话",
    "情趣测试",
    "魔法测试",
    "名句赏析",
    "流氓兔讲",
    "悠悠情人",
    "无敌追求",
    "英语小霸",
    "爱情测试",
    "天气预报",
    "开心笑话"
    );
    $total=count($subscibe);
    $pagesize=2;$pagecount=ceil($total/$pagesize);
    $page=$_GET['page'];if ($page>$pagecount) $page=$pagecount;
    if ($page<1) $page=1;$start=$page*$pagesize-1;echo "<br>";
    echo $page.":".$subscibe[$start-1]."<br>";
    echo ($page+1).":".$subscibe[$start]."<br>";echo $page."/".$pagecount."  <a href=1.php?page=".($page-1).">上一页</a> <a href=1.php?page=".($page+1).">下一页</a>";
    ?>
      

  2.   

    /**一个简单的分页类(和数据库无关)**/
    class Pages
    {    
        var $total_nums;
        var $total_pagenums;
        var $pre_page;
        var $next_page;  
        var $start_num;
        var $end_num;    
        var $page_num;
        var $page_lenth;    function Pages($total_nums,$nums_per_page,$page_num)
        {
            $page_num=($page_num)? $page_num:1;
            $this->total_nums=$total_nums;        
            $this->pre_page=$page_num-1;
            $this->next_page=$page_num+1;        
            $this->total_pagenums=ceil($this->total_nums/$nums_per_page);
            $this->start_num=($page_num-1)*$nums_per_page;
            $this->end_num= ($this->total_nums>($this->start_num+$nums_per_page))? $this->start_num+$nums_per_page : $this->total_nums;    
    $this->page_num=$page_num;
    $this->page_lenth=$this->end_num-$this->start_num;echo "total_nums=$total_nums";
        }
    };