一个简洁的多级别论坛
一个简洁的多级别论坛
发布时间:2016-12-29 来源:查字典编辑
摘要:本论坛总共用了不到200行代码,执行速度相当快。运行例子在:http://www.hnpts.ha.cn/forumMYSQL数据库:yxf...

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

<>

</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]."><tdalign=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 onsubmit="document.F0.p.value--;return true;">

<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 onload="setTimeout('go()',3000);">

<?print($msg);?><br>

系统将在3秒钟以后自动返回。如果不能返回或者你着急,请按<a href=index.php?fl=<?print($fl_a);?>&p=<?print($p)?>>这里</a>

</body>

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新php教程学习
热门php教程学习
编程开发子分类