一个简洁的多级别论坛

本论坛总共用了不到200行代码,执行速度相当快。运行例子在:http://www.hnpts.ha.cn/forum
MYSQL数据库:yxforum
+-------+--------------+------+-----+---------+----------------+  
| Field | Type         | Null | Key | Default | Extra          |  
+-------+--------------+------+-----+---------+----------------+  
| id    | int(11)      |      | PRI | 0       | auto_increment |  
| dt    | datetime     | YES  |     | NULL    |                |  
| tp    | varchar(255) | YES  |     | NULL    |                |  
| ct    | text         | YES  |     | NULL    |                |  
| fl    | int(11)      | YES  |     | NULL    |                |  
| ip    | varchar(20)  | YES  |     | NULL    |                |  
| un    | varchar(50)  | YES  |     | NULL    |                |  
| em    | varchar(60)  | YES  |     | NULL    |                |  
| num   | int(11)      | YES  |     | NULL    |                |  
+-------+--------------+------+-----+---------+----------------+  

index.php:  

<html>  
<head>  
<style type="text/css">  

<!--  
.unnamed1 {  font-size: 9pt; font-family: "宋体"}  
.unnamed1 A {COLOR: #000088; FONT-SIZE: 9pt; TEXT-DECORATION: none; TEXT-TRANSFORM: none; font-family: "宋体"}  
.unnamed1 A:hover {COLOR: #880000; FONT-SIZE: 9pt; TEXT-DECORATION: underline overline; font-family: "楷体_GB2312"}  
.unnamed2 {  font-size: 12px; color: #9933FF}  

-->  

</style>  
</head>  
<body bgcolor="#FFFFFF" text="#000000" link="#000066" vlink="#0000CC" alink="#000099">  
<?$m=mysql_connect("localhost","××××","××××");  
  mysql_select_db("××××",$m);  
?>  

<?if ($fl=="") $fl=1;  
$hf_fl=$fl;  
$q="select * from yxforum where id=".$fl;  
$mr=mysql_query($q,$m);  
$ra=mysql_fetch_row($mr);  
?>  
<p align=center><b><?print($ra[2]);?></b><br>  
<?if ($fl!=1) {  
?>  
<small><?printf("(<a href=mailto:%s>%s</a>) ",$ra[7],$ra[6]);?>  
</small></p>  
<?$alltt=$ra[2];  
   $lastid=$ra[4];   
   print("<center><table width=90% border=1><tr><td bgcolor=#dddddd class=unnamed1>".$ra[3]."</tr></table></center>");  
   print("<br><small>跟随主题:</small>");  
   }   
    
$q="select * from yxforum where fl=".$fl." order by dt desc";  
  if ($p=="") $p=0;  
  $mr=mysql_query($q,$m);  
  $f=mysql_num_fields($mr);  
   
$ra=mysql_fetch_row($mr);  
$i=0; $p1=$p*15; /*跳过指定的页数对应的行*/  
while ($i<$p1)   
    {$i++;  
     $ra=mysql_fetch_row($mr);  
     if (! $ra) break;}  
   
    
?>  
<center>  
  <table border=0 width=732 class="unnamed1">  
    <tr align="center" valign="top" bgcolor="#FFFFCC">   
      <td width="186" >最新回应时间  
      <td width="88">发表人  
      <td width="414">主题  
      <td width="44">回应数  
     </tr>  
<?  
  $x[0]="ffffcc";$x[1]="DEEFFF";$i=1;  
  while  ($ra)  /*显示目前的主题*/  
    {$ys_c=$i%2;  
     print("<tr height=12 bgcolor=#".$x[$ys_c]."><td  align=center>".$ra[1]);  
     print("<td align=center><a href=mailto:".$ra[7].">".$ra[6]."</a>");  
     print("<td>");  
     printf("<a href=index.php?fl=%s>%s</a>",$ra[0],$ra[2]);  
     print("<td align=center>".$ra[8]);  
     print("</tr>");  
     $ra=mysql_fetch_row($mr);  
     $i++;   
     if ($i>15) break;     
  }   

?>  
</table></center>  
<form action=index.php method=get name=F0 >  
<span class=unnamed1>  
<?  
$alllines=mysql_affected_rows($m);  
$pages=$alllines/15;  
if ($pages-intval($pages)!=0) $pages=intval($pages)+1;  
    else $pages=intval($pages);  
print("共".$pages."页 第".($p+1)."页 ");  

if ($p>0) {printf("<a href=index.php?fl=%s>首页</a> ",$hf_fl);  
           printf("<a href=index.php?fl=%s&p=%d>上一页</a> ",$hf_fl,$p-1);}  
if ($ra)  {printf("<a href=index.php?fl=%s&p=%d>下一页</a> ",$hf_fl,$p+1);  
           printf("<a href=index.php?fl=%s&p=%d>末页</a> ",$hf_fl,$pages-1);}  
?>指定第<input type=text size=2 name=p>页  
</span>  
<span class=unnamed1>  
<?if ($hf_fl!=1)  {printf("<br><a href=index.php?fl=%s>上一级</a> ",$lastid);  
                  print("<a href=index.php>最高级</a><br>");}  
?>  
</form><center>  
<table width=80% bgcolor=#eeeeff><tr><td class=unnamed1>  
<?print(($fl==1)?"加新贴:":"回应:");?>  
<form action="addnew.php" method=post name="F1">  
姓名:   
    <input type="text" name="nm" size="15">  
    <br>  
    Email:   
    <input type="text" name="em" size="45">  
    <br>  
    标题(必填):  
    <input type="text" name="tt" size="45" <?if ($fl!=1) print("value=回复:".$alltt);?> >  
    <input type=hidden name="fl" value="<?print($hf_fl);?>">  
    <input type=hidden name="p" value="<?print($p);?>">  
     <br>  
    正文(必填): <br>  
                   
   <textarea name="zw" cols="50" rows="10"></textarea>  
    <input type="submit" name="Submit" value="提 交">  
</form>  
</tr></table></center>  
<hr>  
<center>自用论坛程序0.25版 设计工具:PHP+MYSQL<br>  
<a href=mailto:fhl@cgi.hnpts.ha.cn>古钺青剑</a> 制作<br><a href=http://www.fhlfox.dhs.org>逍遥飞狐多媒体作坊</a> 2000 </center>  
</span>  
</body>  
</html>  

addnew.php:  

<?$m=mysql_connect("localhost","×××","×××××");  
  mysql_select_db("×××××",$m);  
  $zw=ereg_replace("<","<",$zw);  
   $zw=ereg_replace(">",">",$zw);  
$zw=ereg_replace("n","<br>",$zw);  
   $zw=ereg_replace(" "," ",$zw);  
   $tt=ereg_replace("<","<",$tt);  
   $tt=ereg_replace(">",">",$tt);  
     if ($nm=="") $nm="无名宝";  
  if ($em=="") {$nm.="<-- 是一只没有MAIL的菜鸟";$em="No";}  
  $err=strlen($tt)*strlen($zw);  
  if ($err==0)   
     $msg="<font color=red>不要偷懒嘛!把表格填完再提交不迟。</font>";  
  else {$q="insert into yxforum (dt,tp,ct,fl,ip,un,em,num) values"  
         ."(now(),"".$tt."","".$zw."",".$fl.","".$REMOTE_ADDR."","".$nm."","".$em."",0)";  
        mysql_query($q,$m);  
          
        $q="select num,fl from yxforum where id=".$fl;  
        $fl_a=$fl;  
        do { $mr=mysql_query($q,$m);  
             $ra=mysql_fetch_row($mr);  
             $num=$ra[0]+1;  
             $q="update yxforum set dt=now(),num=".$num." where id=".$fl;  
             $fl=$ra[1];  
             mysql_query($q,$m);  
             $q="select num,fl from yxforum where id=".$fl;  
            } while ($fl>0);    
      
        
   $msg="<font color=green>你的意见已经成功提交!</font>";  
        }  
?>  
<html>  
<head>  
<script language="Javascript">  
function go()  
{document.location="index.php?fl=<?print($fl_a);?>&p=<?print($p)?>";  
  }  
</script>  
<body >  
<?print($msg);?><br>  
系统将在3秒钟以后自动返回。如果不能返回或者你着急,请按<a href=index.php?fl=<?print($fl_a);?>&p=<?print($p)?>>这里</a>  
</body> 

时间: 2024-09-20 00:47:12

一个简洁的多级别论坛的相关文章

一个简洁的多级别论坛_php基础

本论坛总共用了不到200行代码,执行速度相当快.运行例子在:http://www.hnpts.ha.cn/forum MYSQL数据库:yxforum +-------+--------------+------+-----+---------+----------------+  | Field | Type         | Null | Key | Default | Extra          |  +-------+--------------+------+-----+-----

discuz!-客户想做一个比较有个性的论坛社区,而用discuz与dedecms做的样例又不太满意,该怎么办?

问题描述 客户想做一个比较有个性的论坛社区,而用discuz与dedecms做的样例又不太满意,该怎么办? 因为可能是前期沟通的问题,订单是接下来,客户也负款了,而技术人员招进来后, 说客户要求是无法通地discuz与dedecms做的,只能开发,但这样费用会特别高? 怎么办,难道discuz与dedecms不能做出客户所需要的页面效果吗?还是技术人员的 技术还有掌握好? 解决方案 discuz和dedecms是可以自定义页面模板的(只是外观,但功能如果有特殊需求可能要自己改),我觉得你们竟然招

推荐一个比较值得看的论坛源码..

问题描述 大家给推荐一个比较好的jsp论坛[源码]吧!自己想写个论坛,可网上太多,不知道选择哪个好,先研究一下!!先谢了... 解决方案 解决方案二:云网论坛CWBBS,google一下.解决方案三:找斑竹要CSDN的源码解决方案四:jlive解决方案五:jdon的不行吗?解决方案六:JspRun!社区论坛系统,免费的jsp开源论坛,java开源论坛,免费java论坛安全,功能强大,楼主可以去下载一个试试

一个简洁实用的PHP缓存类完整实例_php技巧

本文完整描述了一个简洁实用的PHP缓存类,可用来检查缓存文件是否在设置更新时间之内.清除缓存文件.根据当前动态文件生成缓存文件名.连续创建目录.缓存文件输出静态等功能.对于采用PHP开发CMS系统来说,离不开对缓存的处理,合理利用好缓存可有效的提高程序执行效率. php缓存类文件完整代码如下: <?php /* * 缓存类 cache */ class cache { //缓存目录 var $cacheRoot = "./cache/"; //缓存更新时间秒数,0为不缓存 var

Digg目标是创建一个“简洁、灵活”的服务

摘要: 据国外媒体报道,谷歌(微博)宣布将在今年7月1日关闭Google Reader之后,社交新闻聚合网站Digg上周公布了打造自己的RSS阅读器的计划.现在,更多的信息浮出水面,Digg对这个计划非常认真 据国外媒体报道,谷歌(微博)宣布将在今年7月1日关闭Google Reader之后,社交新闻聚合网站Digg上周公布了打造自己的RSS阅读器的计划.现在,更多的信息浮出水面,Digg对这个计划非常认真,并且根据用户反馈发布了一些原则. Digg综合了用户发布的800余条评论,总结出了以下四

PS绘制一个简洁现代的web按钮

本教程在Photoshop中用简洁快速的方法制作了一个灵活的.流行的web按钮,并让大家对PS中的颜色,渐变色,图案等基本操作进行了更深层次地掌握.希望对设计者们有所帮助. 预览 第1步:创建Photoshop文档 该按钮大小(宽x长)170像素x50像素.我们的画布大一点,比如设为600像素x600像素 第2步:创建基本形状 用圆角矩形创建一个圆角半径为5像素,大小为170像素x50像素的形状. 第3步:为基本形状应用图层样式 按钮的外观主要取决于图层样式,该方式灵活性高,方便日后对按钮进行修

C#写一个可以管理Discuz! X2论坛的软件,求指点

问题描述 想给Discuz!X2论坛写一个管理软件可以给有版主权限的人使用,完成快捷的管理操作比如:高亮,锁帖,移动帖子这些基础操作需要那些需要注意些什么能用到那部分的知识求各位指点目前是学过C#和ASP.netSQLHTML也会一小部分毫无头绪啊有木有相关资料可以提供呢?希望大神能帮助下新人万分感谢. 解决方案 解决方案二:其实也不难,涉及到的就是HTTP协议post解决方案三:难倒Discuz没有这种功能吗?解决方案四:引用2楼的回复: 难倒Discuz没有这种功能吗? 就是可以用自己写的软

一个模仿oso的php论坛程序(之一)第1/2页_php实例

我经常使用oso的论坛,个人感觉挺好的,因此模仿oso的界面编了一个程序,与大家共享.  程序由三部分组成,即显示主题信息,显示论坛信息,增加论坛信息,主题与论坛内容采用主从表关系.  表结构如下:  drop table fr_t_forumtitle;  create table fr_t_forumtitle(     id         integer,     state      varchar(1),     readcount  integer,     replycount 

怎样设计一个简洁的手机网站

"良好的交互设计关注人们所想,所做以及所感"--斯蒂芬·P·安德森 安德森的这句话适用于整个交互设计领域,同样这也是手机交互设计的真理.让用户快速地找到他们想要的信息是手机交互设计的必要条件.最重要的一点还是用户可以以最简便的方式找到最重要的东西.由于手机是一个最为私人的设备,所以一定要让用户对自己正在做的事有着非常好的感觉,这样才会让他们越来越多地光临你的网站. 我在去年购买了N95,现在我在去上班的路上检查和整理邮件,通过手机上YouTube看视频,实时地检查Twitter fee