Discuz!官方免费开源建站系统

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

简单的调用论坛帖子并生成HTML[070119增加按时间更新页面代码.2楼]

[复制链接]
TaRot! 发表于 2006-12-26 11:51:37 | 显示全部楼层 |阅读模式
以下代码为鱼鱼原创,版权归鱼鱼和一千零一夜所有.

看到有好多朋友问,就征求了臭鱼的同意把这个放出来了,注释都写的很清楚.

演示:http://bbs.1001year.net/

社区热点,就是调用的帖子.需要调用更多版块的就多加.其他修改可以参考首页调用的修改.

如果你的论坛不是生成伪静态,下面的帖子地址就改为
  1. http://www.***.com/viewthread.php?tid={$result[tid]}
复制代码


老规矩,喜欢的看,不喜欢的闪.


  1. <?
  2. //论坛数据库信息
  3. $dbuser='dbuser';  //数据库用户名
  4. $dbpass='dbpass';  //数据库密码
  5. $dbname='dbname';  //数据库名
  6. $shownum='10';      //显示数量
  7. $titlelen=35; //第一个版块的标题长度
  8. $titlelen2=35; //第二个版块的标题长度
  9. $titlelen3=35; //第三个版块的标题长度
  10. $lasttime=time()-51840000;  //显示两个月内的热门贴
  11. mysql_connect('',$dbuser,$dbpass); //连接数据库
  12. mysql_query("SET NAMES GBK");
  13. mysql_select_db($dbname);
  14. //-------------------美女写真-------------------
  15. $select = mysql_query("SELECT tid,fid,author,lastpost,dateline,lastposter,views,subject,replies FROM cdb_threads where fid=27 and lastpost>$lasttime and closed=0 ORDER BY replies DESC LIMIT 0, $shownum"); //查询表
  16. $result=mysql_fetch_array($select); //以下show是输出
  17. $show.= "<table width='100%' border='0' cellspacing='0' cellpadding='0'>\r\n";
  18. while ($result)
  19. {
  20. $longname=$result['subject'];
  21. //截取帖子标题长度
  22. if(strlen($result['subject']) > $titlelen)
  23. {
  24. $result['subject']=substr($result['subject'],"0",$titlelen-4).chr(0);
  25. $result['subject']=$result['subject']."...";
  26. }
  27. $lastpost=date('Y-m-d',$result[lastpost]);
  28. $dateline=date('Y-m-d',$result[dateline]);
  29. $show.="<tr><td>";
  30. $show.="<a href=http://bbs.1001year.net/thread-{$result[tid]}-1-1.html target=_blank title='标题:{$longname}
  31. 作者:{$result['author']}
  32. 发表日期:{$dateline}
  33. 最后回复:{$lastpost}({$result['lastposter']})
  34. 阅读次数:{$result['views']}
  35. 回复次数:{$result['replies']}'>".$result['subject']."</a>";
  36. $show.="</td></tr>";
  37. $result=mysql_fetch_array($select);
  38. }
  39. $show.="</table>";
  40. $filename='bbs_mv.html';
  41. $handle=fopen ($filename,"w");
  42. fwrite($handle,$show);
  43. fclose($handle);
  44. unset ($show);
  45. //-------------------精彩贴图-------------------
  46. $select = mysql_query("SELECT tid,fid,author,lastpost,dateline,lastposter,views,subject,replies FROM cdb_threads where fid=20 and lastpost>$lasttime and closed=0 ORDER BY replies DESC LIMIT 0, $shownum");
  47. $result=mysql_fetch_array($select);
  48. $show.= "<table width='100%' border='0' cellspacing='0' cellpadding='0'>\r\n";
  49. while ($result)
  50. {
  51. $longname=$result['subject'];
  52. //截取帖子标题长度
  53. if(strlen($result['subject']) > $titlelen2)
  54. {
  55. $result['subject']=substr($result['subject'],"0",$titlelen2-4).chr(0);
  56. $result['subject']=$result['subject']."...";
  57. }
  58. $lastpost=date('Y-m-d',$result[lastpost]);
  59. $dateline=date('Y-m-d',$result[dateline]);
  60. $show.="<tr><td>";
  61. $show.="<a href=http://bbs.1001year.net/thread-{$result[tid]}-1-1.html target=_blank title='标题:{$longname}
  62. 作者:{$result['author']}
  63. 发表日期:{$dateline}
  64. 最后回复:{$lastpost}({$result['lastposter']})
  65. 阅读次数:{$result['views']}
  66. 回复次数:{$result['replies']}'>".$result['subject']."</a>";
  67. $show.="</td></tr>";
  68. $result=mysql_fetch_array($select);
  69. }
  70. $show.="</table>";
  71. $filename='bbs_tt.html';
  72. $handle=fopen ($filename,"w");
  73. fwrite($handle,$show);
  74. fclose($handle);
  75. unset ($show);
  76. //-------------------占星奇缘-------------------
  77. $select = mysql_query("SELECT tid,fid,author,lastpost,dateline,lastposter,views,subject,replies FROM cdb_threads where fid=78 and lastpost>$lasttime and closed=0 ORDER BY replies DESC LIMIT 0, $shownum");
  78. $result=mysql_fetch_array($select);
  79. $show.= "<table width='100%' border='0' cellspacing='0' cellpadding='0'>\r\n";
  80. while ($result)
  81. {
  82. $longname=$result['subject'];
  83. //截取帖子标题长度
  84. if(strlen($result['subject']) > $titlelen2)
  85. {
  86. $result['subject']=substr($result['subject'],"0",$titlelen3-4).chr(0);
  87. $result['subject']=$result['subject']."...";
  88. }
  89. $lastpost=date('Y-m-d',$result[lastpost]);
  90. $dateline=date('Y-m-d',$result[dateline]);
  91. $show.="<tr><td>";
  92. $show.="<a href=http://bbs.1001year.net/thread-{$result[tid]}-1-1.html target=_blank title='标题:{$longname}
  93. 作者:{$result['author']}
  94. 发表日期:{$dateline}
  95. 最后回复:{$lastpost}({$result['lastposter']})
  96. 阅读次数:{$result['views']}
  97. 回复次数:{$result['replies']}'>".$result['subject']."</a>";
  98. $show.="</td></tr>";
  99. $result=mysql_fetch_array($select);
  100. }
  101. $show.="</table>";
  102. $filename='bbs.html';
  103. $handle=fopen ($filename,"w");
  104. fwrite($handle,$show);
  105. fclose($handle);
  106. unset ($show);
  107. ?>
复制代码

[ 本帖最后由 TaRot! 于 2007-7-19 19:24 编辑 ]
 楼主| TaRot! 发表于 2006-12-26 11:52:36 | 显示全部楼层
不要让MJJ把sofa占了.


如果觉得生成的表格不够用,修改$show.=  .具体可以自己试下,我不做老师了,不负责教学.

========================================================

关于如何按时间更新.我个人是用的dede , 不一定都适用.给大家这段代码参考下吧.
  1. <?
  2. if(file_exists("index.html"))
  3. {
  4. $time=time();
  5. //文件修改时间和现在时间相差?的话,直接导向html文件,否则重新生成html
  6. if($time-filemtime("index.html")< 600)
  7. {
  8. header("Location:index.html");
  9. }
  10. }
  11. //在你的开始处加入ob_start();
  12. ob_start();
复制代码
  1. //在结尾加入ob_end_clean(),并把本页输出到一个变量中
  2. $temp=ob_get_contents();
  3. ob_end_clean();

  4. //写入文件
  5. $fp=fopen('main.html','w');
  6. fwrite($fp,$temp) or die('写文件错误');  
  7. //echo"生成HTML完成!";
  8. header("Location:main.html");
  9. ?>
复制代码

[ 本帖最后由 楼主木有小JJ 于 2007-1-22 11:37 编辑 ]
回复

使用道具 举报

羽翼时空 发表于 2006-12-26 11:53:32 | 显示全部楼层
地板。。。。
回复

使用道具 举报

songshian 发表于 2006-12-26 11:54:17 | 显示全部楼层
前排11111
回复

使用道具 举报

freddy 发表于 2006-12-26 12:51:01 | 显示全部楼层
回复

使用道具 举报

5025488.net 发表于 2006-12-26 12:57:04 | 显示全部楼层
回复

使用道具 举报

zhylsy99 发表于 2006-12-26 13:49:29 | 显示全部楼层
22



回复

使用道具 举报

尐強 发表于 2006-12-26 14:11:31 | 显示全部楼层
占个位置先...
回复

使用道具 举报

bvtc 发表于 2006-12-26 14:18:53 | 显示全部楼层
这个也加精!!!!!!!版主是MJJ
回复

使用道具 举报

xinss 发表于 2006-12-26 14:19:57 | 显示全部楼层
占个位置先...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|Discuz! 官方站 ( 皖ICP备16010102号 )star

GMT+8, 2024-12-23 04:41 , Processed in 0.034146 second(s), 3 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表