A-A+

php静态列表分页的代码

2013年09月03日 PHP技术文章 评论 9 条 阅读 325 views 次

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

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

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

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

$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 .="<span ".$ys." style='margin-left:5px;margin-ri
ght:10px;'>1";
}
else{
$sm .="<span ".$ys." style='margin-left:5px;margin-rig
ht:10px;'>".$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 .="<span ".$ys." style='margin-left:5px;margin-ri
ght:10px;'>1";
}
else{
$sm .="<span ".$ys." style='margin-left:5px;margin-r
ight:10px;'>".$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);
}
标签:

9 条留言  访客:9 条  博主:0 条

  1. 明修网络博客

    想想年初在学校的时候,学PHP那几天真是特别纠结,一点都不懂。即便是对着代码敲,最后还是能出错。。

  2. 珩磨机

    正好有这方面的需要啊

  3. 音乐外链网

    这个是通用的php代码 还是wp专用??

    • smiling

      这个是通用的。

  4. 寇铈鑫

    博主 多分享一些wp的吧 谢谢了

    • smiling

      刚开始研究wp,没那么多文章写呢。

  5. 罗胜个人博客

    用不到也要学着留

  6. 21氪

    我的主题可能用

  7. godaddy 优惠码

    这样优化网站速度应该内快一些

给我留言