首页  >  文章  >  php教程  >  一个简洁的多级别论坛

一个简洁的多级别论坛

WBOY
WBOY原创
2016-06-13 12:38:35945浏览

本论坛总共用了不到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:  

  

  
  
  
  
$m=mysql_connect("localhost","××××","××××");  
  mysql_select_db("××××",$m);  
?>  

$hf_fl=$fl;  
$q="select * from yxforum where id=".$fl;  
$mr=mysql_query($q,$m);  
$ra=mysql_fetch_row($mr);  
?>  


  
?>  
%s) ",$ra[7],$ra[6]);?>  

  
$alltt=$ra[2];  
   $lastid=$ra[4];   
   print("
".$ra[3]."
");  
   print("
跟随主题:");  
   }   

$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    {$i++;  
     $ra=mysql_fetch_row($mr);  
     if (! $ra) break;}  

    
?>  
  
    
       
        
  
  $x[0]="ffffcc";$x[1]="DEEFFF";$i=1;  
  while  ($ra)  /*显示目前的主题*/  
    {$ys_c=$i%2;  
     print("");  
     $ra=mysql_fetch_row($mr);  
     $i++;   
     if ($i>15) break;     
  }   

?>  
最新回应时间  
      
发表人  
      
主题  
      
回应数  
     
".$ra[1]);  
     print("
".$ra[6]."");  
     print("
");  
     printf("%s",$ra[0],$ra[2]);  
     print("
".$ra[8]);  
     print("
  
  
  
  
$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("首页 ",$hf_fl);  
           printf("上一页 ",$hf_fl,$p-1);}  
if ($ra)  {printf("下一页 ",$hf_fl,$p+1);  
           printf("末页 ",$hf_fl,$pages-1);}  
?>指定第页  
  
  
上一级 ",$lastid);  
                  print("最高级
");}  
?>  
  
  
  
  
姓名:   
      
    
  
    Email:   
      
    
  
    标题(必填):  
     >  
      
      
     
  
    正文(必填):
  

     
      
  
  

  
自用论坛程序0.25版 设计工具:PHP+MYSQL
  
古钺青剑 制作
逍遥飞狐多媒体作坊 2000
  
  
  
  



addnew.php:  

$m=mysql_connect("localhost","×××","×××××");  
  mysql_select_db("×××××",$m);  
  $zw=ereg_replace("   $zw=ereg_replace(">",">",$zw);  
$zw=ereg_replace("n","
",$zw);  
   $zw=ereg_replace(" "," ",$zw);  
   $tt=ereg_replace("   $tt=ereg_replace(">",">",$tt);  
     if ($nm=="") $nm="无名宝";  
  if ($em=="") {$nm.="  $err=strlen($tt)*strlen($zw);  
  if ($err==0)   
     $msg="不要偷懒嘛!把表格填完再提交不迟。";  
  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="你的意见已经成功提交!";  
        }  
?>  
  
  
  
  

  
系统将在3秒钟以后自动返回。如果不能返回或者你着急,请按&p=>这里  
 
声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn