我經常使用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變數現在包含所需的頁數