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

2015-01-24信息快讯网
我经常使用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变量现在包含所需的页数
©2014-2024 dbsqp.com