A-A+

php静态列表分页的代码

2013年09月03日 编程技术 暂无评论

一个简单的php生成静态列表分页的代码,之前写的 夏日CMS系统仅仅生成了静态内容页面,没有生成列表的分页,其实网站如果内容量不是特别大的情况下,可以不用生成列表页,对网站的影响不是很大的,仅仅生成静态内容页面就可以了。

当然,如果你的内容量很大,而且又要考虑到网站 SEO 优化等方面的话,可能生成静态的列表页会好一些,而且打开的链接看起来也很舒服,本博已经有了一段生成静态列表的源码,测试已经成功。

下面推荐的是一个比较简单容易理解的 php 静态列表分页的代码,从最基础的连接数据库开始,到生成列表静态页面,都不是很复杂,可以简单的进行测试,然后整合到自己的网站中。

第一页为index.html,第二页为index_2.html,第三页为index_3.html......

[code lang="php"]
$dlpath="../wd/"; //设置生成的路径
$sql3 = "select * from 表名"; //得到分页总数
$res = mysql_query($sql3);
$row = mysql_num_rows($res);
$pagesize = 10; //每页显示数
if($row<$pagesize) $pages = 1; if($row%$pagesize) { $pages=intval($row/$pagesize)+1; }else{ $pages=intval($row/$pagesize); } for($i=1;$i<=$pages;$i++) { $page_turn=""; //数字代码开始 $xs=5; //设置显示个数为5 $pi=$i; $sm=""; //如果页数小于显示个数 if ($pages<$xs){ $start=1; $end=$pages; for ($y=$start;$y<=$end;$y++){ if($y==$i ){ $ys="class=\"current\""; }else{ $ys=""; } if ($y==1){ $sm .="1";
}
else{
$sm .="".$y."";
}
}
}
else{
$nums1=intval($xs/2);//开始当前的个数
$nums2=$xs%2==0?$nums1-1:$nums1;
if ($pi<=$xs-$nums2) //当前页数小于或等于显示页码减去末尾 //项,当前位置还处于页码范围 { $start=1; $end=$xs; } else { $start=$i-$nums1; $end=$i+$nums2; } //当计算出的末尾大于总页数 if ($end>$pages){
$start=($pages-$xs+1); //开始项等于总页数减去要显示的数
//量然后再自身加1
$end=$pages;
}
for ($y=$start;$y<=$end;$y++){ if ($y==$i){ $ys="class=\"current\""; }else{ $ys=""; } if ($y==1){ $sm .="1";
}
else{
$sm .="".$y."";
}
}
}
$tj="共".$pages."页 | 当前第".$i."页 ";
//数字代码结束
if($i==1)
{
$indexpath=$dlpath."index.html";
$page_turn.=$tj."首页 ref='index.html'>上一页".$sm;
}
else{
$indexpath=$dlpath."index_".$i.".html";
$page_turn.=$tj."首页 ef='index_".($i-1).".html'>上一页".$sm;
}

if($i==$pages){
$page_turn.="下一页 ref='index_".$pages.".html'>尾页";
}
else{
$page_turn.="下一页 ef='index_".$pages.".html'>尾页";
}

//获得页面内容
$sql4 = "select * from 表名 order by id desc"." LIMIT ".($i-1)*$p
agesize .", $pagesize";
$result4 = mysql_query($sql4);
$list="";
while($rs4=mysql_fetch_array($result4))
$list .="需要得到的内容";
}
//生成页面代码
$sql="select * from mb "; //取出模板 ,这是放在数据表中的模板
$result=mysql_query($sql);
$rs=mysql_fetch_array($result);
$mb=$rs["nr"]; //得到模板的具体内容
$mb=str_replace("{list}",$list,$mb); //替换,显示的内容
$mb=str_replace("{page}",$page_turn,$mb); //替换, 显示分页链接
fclose($fp);
$handle = fopen($indexpath,"w");
fwrite($handle,$mb);
fclose($handle);
}
[/code]

标签:

给我留言