<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>php生成静态html分页实现方法</title>
</head><body><?php
$conn=mysql_connect('localhost','root','123456')
  or  die('连接失败:'.mysql_error());
//选择数据表
if (mysql_select_db('bbs',$conn))
  {
  echo'选择数据库成功!'.'<p>';
  
  }
  else
  {
  echo'数据库选择失败!'.mysql_error().'<p>';
  }
@header("Content-Type: text/html; charset=utf-8");
mysql_query("SET NAMES 'utf8'");
 
$fp = fopen ("moban/temp.html","r");
$content = fread ($fp,filesize ("moban/temp.html"));
$onepage =2;
$sql = "select id from message";
$query = mysql_query ($sql);
$num = mysql_num_rows ($query);
$allpages = ceil ($num / $onepage);
$filedir="news_1";
if (!is_dir($filedir)) {
//如果不存在就建立
mkdir($filedir,0777);
}
for ($i = 0;$i<$allpages; $i++){
if ($i == 0){
$indexpath = "$filedir/index.html";
} else {
$indexpath = "$filedir/index_".$i.".html";
}
$start = $i * $onepage;
$list = '';
$sql_for_page = "select * from message limit $start,$onepage";
$result=mysql_query($sql_for_page);
 while($row=mysql_fetch_array($result))
 {
 $list .=$row['id']."&nbsp;&nbsp;&nbsp;<a href=../".$row['filepath'].">".$row['title'].'</a><br>'.$row['content'].'<br>'; 
 } 
$content1 = str_replace ("{ articletable }",$list.$i,$content);
//分页
$list1 = '';
for ($j = 0;$j<$allpages; $j++){
if ($j == 0){
$list1 .= '<a href="index.html" >第'.$j.'页  </a>|';
} else {
$list1 .= "<a href='index_".$j.".html' >第".$j."页  </a>|";
}
}
$content2 = str_replace("{ mune }",$list1,$content1);

if (is_file ($indexpath)){
@unlink ($indexpath); //若文件已存在,则删除
}
$handle = fopen ($indexpath,"w"); //打开文件指针,创建文件
/*
  检查文件是否被创建且可写
*/
if (!is_writable ($indexpath)){
echo "文件:".$indexpath."不可写,请检查其属性后重试!"; //修改为echo
}
if (!fwrite ($handle,$content2)){ //将信息写入文件
echo "生成文件".$indexpath."失败!"; //修改为echo

fclose ($handle); //关闭指针
}
fclose ($fp);die ("生成分页文件完成,如生成不完全,请检查文件权限系统后重新生成!");
?>
</body>
</html>

解决方案 »

  1.   

    因为我是刚刚学胡php,,所以一些其他类戈,,封装,,实力化,,我都还没完全学会,,,,我就会一些自己用手写的基本语法,,就是希望一些高手把上面的代码调试下,,然后給小弟写出一个分页的代码,,谢谢!
      

  2.   

    我知道是有分页代码,,但是有一个缺点就是,不是我想給想分多少就多少页,,数据库有100条记录,,每页5条,,然后调试了就会直接显示20个分页,,,,可我想显示前5页,,其他隐藏,,,你可以调试下啊,因为是一个for循环,所以我不太会控制!谢谢!
      

  3.   

    那么控制$allpages 变量的数量就是了 例如 $allpages=4;