欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2023-02-24 19:33:58
我经常使用oso的论坛,个人感觉挺好的,因此模仿oso的界面编了一个程序,与大家共享。  程序由三部分组成,即显示主题信息,显示论坛信息,增加论坛信息,主题与论坛...
我经常使用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">&nbsp</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">&nbsp</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变量现在包含所需的页数
1