一个模仿oso的论坛程序(之一)
来源:互联网 发布:sjf调度算法 编辑:程序博客网 时间:2024/05/29 19:03
<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 728x15, 创建于 08-4-23MSDN */google_ad_slot = "3624277373";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
程序由三部分组成,即显示主题信息,显示论坛信息,增加论坛信息,主题与论坛内容采用主从表关系。
表结构如下:
drop table fr_t_forumtitle;
create table fr_t_forumtitle(
id integer,
state varchar(1),
readcount integer,
replycount integer,
title varchar(100),
createman varchar(20),
replyman varchar(20),
replytime datetime);
drop table fr_t_forumcontent;
create table fr_t_forumcontent(
id integer,
replyman varchar(20),
replytime datetime,
replyemail varchar(100),
replyhttp varchar(100),
replyface smallint,
content text);
drop table fr_t_parameter;
create table fr_t_parameter(
code varchar(10),
name varchar(40),
content varchar(10));
insert into fr_t_parameter(code,name,content) values('pageline','分页数','20'); /* 调整该参数可以修改每页行数 */
程序1:mainforum.php
<html>
<head>
<link rel="STYLESHEET" type="text/css" href="fp_zhangcg.css">
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<meta name="Microsoft Theme" content="none">
<meta name="Microsoft Border" content="none">
<title>论坛</title>
</head>
<body bgcolor="#C0C0C0" background="backcolor.GIF">
<?
include ("c:mydbheader.inc");
?>
<table width="100%" border="0">
<tr class="text">
<td width="50%"> <div align="left">当前位置:主页——论坛</div> </td>
<td width="20%"> <div align="center"> </div> </td>
<td width="10%"> <div align="center">
<A href="addmember.php" target=_blank>会员注册</A></div> </td>
<td width="10%"> <div align="center">论坛搜索</div> </td>
<td width="10%"> <div align="center"> </div> </td>
</table>
<?
$dbh = mysql_connect('localhost:3306','root','');
mysql_select_db('test');
$res=mysql_query("SELECT content FROM fr_t_parameter where code = 'pageline'",$dbh);
$row=mysql_fetch_array($res);
global $pageline;
$pageline = $row["content"];
if (empty($pageline)) {
$res=mysql_query("insert into fr_t_parameter(code,name,content) values('pageline','分页数','20')",$dbh);
$row=mysql_fetch_array($res);
$pageline = 20;
}
$res=mysql_query("SELECT COUNT(*) AS rcnt FROM fr_t_forumtitle",$dbh);
$row=mysql_fetch_array($res);
$rcount = $row["rcnt"];
$res=mysql_query("SELECT COUNT(*) AS rcnt_con FROM fr_t_forumcontent",$dbh);
$row=mysql_fetch_array($res);
$rcon_count = $row["rcnt_con"];
print '<table width="100%" border="0">';
print '<tr class="text">';
print '<td width="15%"> </td>';
print '<td width="35%"> <div align="left"> ';
print "主题数:".$rcount." 帖子数:".$rcon_count;
print '<td width="35%"> <div align="right"> ';
print '<a href="addforum.php?theme_id=0" target="_top"><img src="post.gif" alt="加新帖子" border="0"></a>';
print '<td width="15%"> </td>';
print '</td></table>';
$pages=ceil($rcount / $pageline); //$pages变量现在包含所需的页数
if (empty($offset)) {
$offset=1;
$curline = 0;
} else
$curline = ($offset - 1) * $pageline;
//打印表头
print '<table width="100%" border="0">';
print '<tr class="text"> <td width="50%"> <div align="center">';
if ($offset <> 1) { //如果偏移量是0,不显示前一页的链接
$newoffset=$offset - 1;
print "<a href='$PHP_SELF?offset=$newoffset'>前一页</a>";
} else {
print "前一页";
print " ";
}
//计算总共需要的页数
$pages=ceil($rcount/$pageline); //$pages变量现在包含所需的页数
for ($i=1; $i <= $pages; $i++) {
$temps = "<a href='".$PHP_SELF.'?offset='.$i."'>".$i."</a>";
print $temps;
print " ";
}
//检查是否是最后一页
if ($pages!=0 && $offset!=$pages) {
$newoffset=$offset+1;
print "<a href='$PHP_SELF?offset=$newoffset'>下一页</a>";
} else print "下一页";
print '</div> </td>';
print '<td width="50%"> <div align="center">';
print "当前页:".$offset." 共".$pages."页";
print '</div> </td>';
print "</table>";
//处理详细信息
print '<table width="100%" border="1">';
print '<tr class="text"> ';
print '<td width="6%"> <div align="center">New</div> </td>';
print '<td width="5%"> <div align="center">点击</div> </td>';
print '<td width="53%"> <div align="center">主题</div> </td>';
print '<td width="10%"> <div align="center">创建人</div> </td>';
print '<td width="5%"> <div align="center">回复</div> </td>';
print '<td width="11%"> <div align="center">最后修改时间 </div> </td>';
print '<td width="10%"> <div align="center">回复人</div> </td>';
print '</tr>';
$query = 'select id,state,readcount,title,createman,replycount,replytime,replyman
from fr_t_forumtitle order by replytime desc LIMIT '.$curline.',20';
$res = mysql_query($query, $dbh);
// $li_rownum = mysql_num_rows($res);
// for ($i=1; $i<=$li_rownum; $i++) {
// $row = mysql_fetch_row($res);
while ($row = mysql_fetch_array($res)) {
print '<tr class="text"> ';
print '<td width="6%"> '.$row["state"].'</td>';
print '<td width="5%"><div align="center">'.$row["readcount"].'</td>';
$tempstr = "<a href='readforum.php?readflag=".$row["id"]."'>".$row['title']."</a>";
print '<td width="53%"> '.$tempstr.'</td>';
// print '<td width="48%">'.$row["title"].'</td>';
print '<td width="9%"> '.$row["createman"].'</td>';
print '<td width="5%"><div align="center">'.$row["replycount"].'</td>';
$temptime = substr($row["replytime"],5,11);
print '<td width="11%"> '.$temptime.'</td>';
print '<td width="10%"> '.$row["replyman"].'</td>';
print '</tr>';
}
print "</table>";
//打印表尾
print '<table width="100%" border="0">';
print '<tr class="text"> <td width="50%"> <div align="center">';
if ($offset <> 1) { //如果偏移量是0,不显示前一页的链接
$newoffset=$offset - 1;
print "<a href='$PHP_SELF?offset=$newoffset'>前一页</a>";
} else {
print "前一页";
print " ";
}
//计算总共需要的页数
for ($i=1; $i <= $pages; $i++) {
$temps = "<a href='".$PHP_SELF.'?offset='.$i."'>".$i."</a>";
print $temps;
print " ";
}
//检查是否是最后一页
if ($pages!=0 && $offset!=$pages) {
$newoffset=$offset+1;
print "<a href='$PHP_SELF?offset=$newoffset'>下一页</a>";
} else print "下一页";
print '</div> </td>';
print '<td width="50%"> <div align="center">';
print "当前页:".$offset." 共".$pages."页";
print '</div> </td>';
print "</table>";
//end of 打印表尾
?>
<?
include ("c:mydbfooter.inc");
?>
</body>
</html>
<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 728x15, 创建于 08-4-23MSDN */google_ad_slot = "3624277373";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 160x600, 创建于 08-4-23MSDN */google_ad_slot = "4367022601";google_ad_width = 160;google_ad_height = 600;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
我经常使用oso的论坛,个人感觉挺好的,因此模仿oso的界面编了一个程序,与大家共享。 程序由三部分组成,即显示主题信息,显示论坛信息,增加论坛信息,主题与论坛内容采用主从表关系。
表结构如下:
drop table fr_t_forumtitle;
create table fr_t_forumtitle(
id integer,
state varchar(1),
readcount integer,
replycount integer,
title varchar(100),
createman varchar(20),
replyman varchar(20),
replytime datetime);
drop table fr_t_forumcontent;
create table fr_t_forumcontent(
id integer,
replyman varchar(20),
replytime datetime,
replyemail varchar(100),
replyhttp varchar(100),
replyface smallint,
content text);
drop table fr_t_parameter;
create table fr_t_parameter(
code varchar(10),
name varchar(40),
content varchar(10));
insert into fr_t_parameter(code,name,content) values('pageline','分页数','20'); /* 调整该参数可以修改每页行数 */
程序1:mainforum.php
<html>
<head>
<link rel="STYLESHEET" type="text/css" href="fp_zhangcg.css">
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<meta name="Microsoft Theme" content="none">
<meta name="Microsoft Border" content="none">
<title>论坛</title>
</head>
<body bgcolor="#C0C0C0" background="backcolor.GIF">
<?
include ("c:mydbheader.inc");
?>
<table width="100%" border="0">
<tr class="text">
<td width="50%"> <div align="left">当前位置:主页——论坛</div> </td>
<td width="20%"> <div align="center"> </div> </td>
<td width="10%"> <div align="center">
<A href="addmember.php" target=_blank>会员注册</A></div> </td>
<td width="10%"> <div align="center">论坛搜索</div> </td>
<td width="10%"> <div align="center"> </div> </td>
</table>
<?
$dbh = mysql_connect('localhost:3306','root','');
mysql_select_db('test');
$res=mysql_query("SELECT content FROM fr_t_parameter where code = 'pageline'",$dbh);
$row=mysql_fetch_array($res);
global $pageline;
$pageline = $row["content"];
if (empty($pageline)) {
$res=mysql_query("insert into fr_t_parameter(code,name,content) values('pageline','分页数','20')",$dbh);
$row=mysql_fetch_array($res);
$pageline = 20;
}
$res=mysql_query("SELECT COUNT(*) AS rcnt FROM fr_t_forumtitle",$dbh);
$row=mysql_fetch_array($res);
$rcount = $row["rcnt"];
$res=mysql_query("SELECT COUNT(*) AS rcnt_con FROM fr_t_forumcontent",$dbh);
$row=mysql_fetch_array($res);
$rcon_count = $row["rcnt_con"];
print '<table width="100%" border="0">';
print '<tr class="text">';
print '<td width="15%"> </td>';
print '<td width="35%"> <div align="left"> ';
print "主题数:".$rcount." 帖子数:".$rcon_count;
print '<td width="35%"> <div align="right"> ';
print '<a href="addforum.php?theme_id=0" target="_top"><img src="post.gif" alt="加新帖子" border="0"></a>';
print '<td width="15%"> </td>';
print '</td></table>';
$pages=ceil($rcount / $pageline); //$pages变量现在包含所需的页数
if (empty($offset)) {
$offset=1;
$curline = 0;
} else
$curline = ($offset - 1) * $pageline;
//打印表头
print '<table width="100%" border="0">';
print '<tr class="text"> <td width="50%"> <div align="center">';
if ($offset <> 1) { //如果偏移量是0,不显示前一页的链接
$newoffset=$offset - 1;
print "<a href='$PHP_SELF?offset=$newoffset'>前一页</a>";
} else {
print "前一页";
print " ";
}
//计算总共需要的页数
$pages=ceil($rcount/$pageline); //$pages变量现在包含所需的页数
for ($i=1; $i <= $pages; $i++) {
$temps = "<a href='".$PHP_SELF.'?offset='.$i."'>".$i."</a>";
print $temps;
print " ";
}
//检查是否是最后一页
if ($pages!=0 && $offset!=$pages) {
$newoffset=$offset+1;
print "<a href='$PHP_SELF?offset=$newoffset'>下一页</a>";
} else print "下一页";
print '</div> </td>';
print '<td width="50%"> <div align="center">';
print "当前页:".$offset." 共".$pages."页";
print '</div> </td>';
print "</table>";
//处理详细信息
print '<table width="100%" border="1">';
print '<tr class="text"> ';
print '<td width="6%"> <div align="center">New</div> </td>';
print '<td width="5%"> <div align="center">点击</div> </td>';
print '<td width="53%"> <div align="center">主题</div> </td>';
print '<td width="10%"> <div align="center">创建人</div> </td>';
print '<td width="5%"> <div align="center">回复</div> </td>';
print '<td width="11%"> <div align="center">最后修改时间 </div> </td>';
print '<td width="10%"> <div align="center">回复人</div> </td>';
print '</tr>';
$query = 'select id,state,readcount,title,createman,replycount,replytime,replyman
from fr_t_forumtitle order by replytime desc LIMIT '.$curline.',20';
$res = mysql_query($query, $dbh);
// $li_rownum = mysql_num_rows($res);
// for ($i=1; $i<=$li_rownum; $i++) {
// $row = mysql_fetch_row($res);
while ($row = mysql_fetch_array($res)) {
print '<tr class="text"> ';
print '<td width="6%"> '.$row["state"].'</td>';
print '<td width="5%"><div align="center">'.$row["readcount"].'</td>';
$tempstr = "<a href='readforum.php?readflag=".$row["id"]."'>".$row['title']."</a>";
print '<td width="53%"> '.$tempstr.'</td>';
// print '<td width="48%">'.$row["title"].'</td>';
print '<td width="9%"> '.$row["createman"].'</td>';
print '<td width="5%"><div align="center">'.$row["replycount"].'</td>';
$temptime = substr($row["replytime"],5,11);
print '<td width="11%"> '.$temptime.'</td>';
print '<td width="10%"> '.$row["replyman"].'</td>';
print '</tr>';
}
print "</table>";
//打印表尾
print '<table width="100%" border="0">';
print '<tr class="text"> <td width="50%"> <div align="center">';
if ($offset <> 1) { //如果偏移量是0,不显示前一页的链接
$newoffset=$offset - 1;
print "<a href='$PHP_SELF?offset=$newoffset'>前一页</a>";
} else {
print "前一页";
print " ";
}
//计算总共需要的页数
for ($i=1; $i <= $pages; $i++) {
$temps = "<a href='".$PHP_SELF.'?offset='.$i."'>".$i."</a>";
print $temps;
print " ";
}
//检查是否是最后一页
if ($pages!=0 && $offset!=$pages) {
$newoffset=$offset+1;
print "<a href='$PHP_SELF?offset=$newoffset'>下一页</a>";
} else print "下一页";
print '</div> </td>';
print '<td width="50%"> <div align="center">';
print "当前页:".$offset." 共".$pages."页";
print '</div> </td>';
print "</table>";
//end of 打印表尾
?>
<?
include ("c:mydbfooter.inc");
?>
</body>
</html>
<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 728x15, 创建于 08-4-23MSDN */google_ad_slot = "3624277373";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 160x600, 创建于 08-4-23MSDN */google_ad_slot = "4367022601";google_ad_width = 160;google_ad_height = 600;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
- 一个模仿oso的论坛程序(之一)
- 一个模仿oso的论坛程序(之三)
- 一个模仿oso的论坛程序(之二)
- 模仿OSO的论坛(四)
- 模仿OSO的论坛(三)
- 模仿OSO的论坛(二)
- 模仿OSO的论坛(一)
- 一个模仿ping的小程序
- 模仿的程序 波浪
- 模仿别人的程序
- 光学SDN论坛OSO成立 致力于推动光学SDN
- 《我的记事本(模仿Windows记事本程序)》程序源码
- 创新源于模仿之一:TabActivity的美化
- 创新源于模仿之一:TabActivity的美化
- 创新源于模仿之一:TabActivity的美化
- 创新源于模仿之一:TabActivity的美化
- 创新源于模仿之一:TabActivity的美化
- 学习如何做一个论坛(2)—利用全站程序建立论坛的个人经验
- .NET几大热点问题(转)
- 一个自定义位数的多用户计数器
- C#的4个基本技巧
- 一个模仿oso的论坛程序(之三)
- 六种快速修理C# Bug的方法
- 一个模仿oso的论坛程序(之一)
- C#中调用Windows API的要点
- 一个模仿oso的论坛程序(之二)
- 用 StringBuilder 类替代 String
- 一个个人网页自动化生成系统(6)
- 利用C#重启远程计算机
- 杂志目录(页面部分CodeBehind)
- 杂志目录(数据库访问部分)
- 一个个人网页自动化生成系统(4)