您的位置:首页网页设计PHP实例 → 一个模仿oso的论坛程序(之一)

一个模仿oso的论坛程序(之一)

时间:2004/11/7 3:22:00来源:本站整理作者:蓝点我要评论(1)

我经常使用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













论坛










  include ("c:mydbheader.inc");

?>





  











   
当前位置:主页——论坛
   
&nbsp
       
论坛搜索
   
&nbsp






  
    $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 '';

    print '';  

    print '';

    print '';

    print '
     
';

    print "主题数:".$rcount."  帖子数:".$rcon_count;

    print '
  
';

    print '加新帖子';

    print '
   
';





    $pages=ceil($rcount / $pageline); //$pages变量现在包含所需的页数   

     

    if (empty($offset))  {

      $offset=1;   

      $curline = 0;

    } else

    $curline = ($offset - 1) * $pageline;

//打印表头

print '';

print '';

print '';

print "
  
';

if ($offset <> 1) { //如果偏移量是0,不显示前一页的链接   

  $newoffset=$offset - 1;   

  print "前一页";   

}  else {

print "前一页";

print "   ";

}

//计算总共需要的页数   

$pages=ceil($rcount/$pageline); //$pages变量现在包含所需的页数   

for ($i=1; $i <= $pages; $i++)  {

  $temps = "".$i."";

  print $temps;   

  print "   ";

}   

//检查是否是最后一页   

if ($pages!=0 && $offset!=$pages)  {

   $newoffset=$offset+1;   

   print "下一页";   

}  else print "下一页";

print '
  
';

print "当前页:".$offset." 共".$pages."页";

print '
";



//处理详细信息

     

    print '';

    print ' ';

    print '';

    print '';

    print '';

    print '';

    print '';

    print '';

    print '';

    print '';



    $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 ' ';

      print '';

      print '';

      $tempstr = "".$row['title']."";

      print '';

//      print '';

      print '';

      print '';

      $temptime = substr($row["replytime"],5,11);

      print '';

      print '';

      print '';

    }

print "
  
New
    
  
点击
   
主题
   
  
创建人
  
回复
   
最后修改时间
  
回复人
&nbsp;'.$row["state"].'
'.$row["readcount"].'
&nbsp;'.$tempstr.''.$row["title"].'&nbsp;'.$row["createman"].'
'.$row["replycount"].'
&nbsp;'.$temptime.'&nbsp;'.$row["replyman"].'
";



//打印表尾

print '';

print '';

print '';

print "
  
';

if ($offset <> 1) { //如果偏移量是0,不显示前一页的链接   

  $newoffset=$offset - 1;   

  print "前一页";   

}  else {

print "前一页";

print "   ";

}

//计算总共需要的页数   

for ($i=1; $i <= $pages; $i++)  {

  $temps = "".$i."";

  print $temps;   

  print "   ";

}   

//检查是否是最后一页   

if ($pages!=0 && $offset!=$pages)  {

   $newoffset=$offset+1;   

   print "下一页";   

}  else print "下一页";

print '
  
';

print "当前页:".$offset." 共".$pages."页";

print '
";

//end of 打印表尾

?>




  include ("c:mydbfooter.inc");

?>









【本文版权归作者zhangcg与奥索网共同拥有,如需转载,请注明作者及出处】     




相关阅读 Windows错误代码大全 Windows错误代码查询激活windows有什么用Mac QQ和Windows QQ聊天记录怎么合并 Mac QQ和Windows QQ聊天记录Windows 10自动更新怎么关闭 如何关闭Windows 10自动更新windows 10 rs4快速预览版17017下载错误问题Win10秋季创意者更新16291更新了什么 win10 16291更新内容windows10秋季创意者更新时间 windows10秋季创意者更新内容kb3150513补丁更新了什么 Windows 10补丁kb3150513是什么

文章评论
发表评论

热门文章 没有查询到任何记录。

最新文章 我的php文件怎么打开_php运算符怎么写 php 如何生成静态页面的函数PHP生成图片缩略图PHP session常见问题集锦及解决办法PHP实现同步远程Mysql

人气排行 DEDE在文章列表文章没有缩略图的不显示图片php+mysq修改用户密码我的php文件怎么打开_如何打开php文件的办法FCKeditor的配置和使用方法使用dedecms建站教程PHP+Ajax实现分页技术图片存储与浏览一例Linux+Apache+PHP+MySQLPHP生成图片缩略图