关于文本留言本的分页代码
发布时间:2006-10-14 2:44:59   收集提供:gaoqian
<?
//在写文件的时候用"|||"来分离每条记录,"||"用来分离记录中的各个字段
//如记录一表示为 $str1=$name."||".$pass."||".$title."||".$message."||".………
//然后连接记录一和记录二时用,$str=$str1."|||".$str2."|||.………
//最后生成的文件如下
//飞天狐狸||450948643||这是主题||这是留言内容||1|||飞天狐狸||450948643||这是主题||这是留言内容||2|||飞天狐狸||450948643||这是主题||这是留言内容||3|||飞天狐狸||450948643||这是主题||这是留言内容||4|||飞天狐狸||450948643||这是主题||这是留言内容||5|||飞天狐狸||450948643||这是主题||这是留言内容||6|||飞天狐狸||450948643||这是主题||这是留言内容||7|||飞天狐狸||450948643||这是主题||这是留言内容||8|||飞天狐狸||450948643||这是主题||这是留言内容||9|||飞天狐狸||450948643||这是主题||这是留言内容||10|||飞天狐狸||450948643||这是主题||这是留言内容||11|||飞天狐狸||450948643||这是主题||这是留言内容||12|||飞天狐狸||450948643||这是主题||这是留言内容||13|||飞天狐狸||450948643||这是主题||这是留言内容||14|||飞天狐狸||450948643||这是主题||这是留言内容||15|||飞天狐狸||450948643||这是主题||这是留言内容||16|||飞天狐狸||450948643||这是主题||这是留言内容||17|||飞天狐狸||450948643||这是主题||这是留言内容||18|||飞天狐狸||450948643||这是主题||这是留言内容||19|||飞天狐狸||450948643||这是主题||这是留言内容||20|||飞天狐狸||450948643||这是主题||这是留言内容||21|||飞天狐狸||450948643||这是主题||这是留言内容||22|||飞天狐狸||450948643||这是主题||这是留言内容||23|||
//然后就开始取文件中的数据,程序清单如下
$end="|||";   //记录分隔符,视写文件时用的符号定
$mid="||";   //字段分隔符,同上
$temp=file("messageboard.info");  //把文件内容读入数组
$temp=join("",$temp);            //将读出的数组变成字串
$mess=explode($end,$temp);    //分割出记录
$num=count($mess);          //计算分割出的字串数组元素数量,就是记录数
if (!$dpage) $dpage=1;    //存放当前页数
$row=15;                       //你每页想显示的行数
if ($num/$row==floor($num/$row)) $page=$num/$row;            //看是否能得整数,可以就取整
else if ($num/$row>=floor($num/$row)) $page=floor($num/$row)+1; //如果总数除每页行娄比取事数大,就取整后加一。
else if ($num/$row<=floor($num/$row)) $page=floor($num/$row); //如果比取整小,就取整
$minnum=($dpage-1)*$row;       //当前页从此数开始取记录
$maxnum=$row*$dpage;           //当前页要取的最大记录数
for($i=$minnum;$i<$maxnum;$i++)
   {
      $message=explode($mid,$mess[$i]);        //分割出记录中的字段
      $num1=count($message);              //计算数组中元素的数量用于控制循环
        for ($j=0;$j<$num1;$j++)
          {
            echo $message[$j]." ";          //每次显示数组内的一个元素。
          }
          echo "<br>";
   }
   //下面开始分页
if ($page>=2&&$dpage==1)      //如果总页数大于两页,并且当前在第一页的话
    { $paged=$dpage+1; echo "<font color='aaaaaa'>上一页  <a href='2.php?dpage=".$paged."'>下一页</a><br>"; }
else if ($page>=2&&$dpage>=$page)  //如果总页数大于两页,并且当前页小于总页数
    { $pageu=$dpage-1; echo "<a href='2.php?dpage=".$pageu."'>上一页</a>  <font color='aaaaaa'>下一页</font><br>"; }
else if ($page>=2&&$dpage>=1&&$dpage<$page)    //如果总页数大于两页,并且当前页大于一又小于总页数
    { $pageu=$dpage-1;$paged=$dpage+1;echo "<a href='2.php?dpage=".$pageu."'>上一页</a>  <a href='2.php?&dpage=".$paged."'>上一页</a><br>";}
    //如果只有一页
else echo "<font color='aaaaaa'>上一页  上一页</font><br>";
?>  

【本文版权归作者与奥索网共同拥有,如需转载,请注明作者及出处】    
 
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50