php模仿一个开票系统,一个模仿oso的php论坛程序(之一)

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

更新时间:2007年03月11日 00:00:00   作者:

我经常使用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 "主题数:".$rcount."  帖子数:".$rcon_count;

print '

  
 ';

    print ''; 

print '

   ';

print '

';

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

if (empty($offset))  {

$offset=1;

$curline = 0;

} else

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

//打印表头

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 '

  
';

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

print '

 ';

print "

";

//处理详细信息

print '

print '

 ';

print '

  
New
    ';

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 '

 '.$row["state"].'';

print '

'.$row["readcount"].'
';

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

print '

 '.$tempstr.'';

//      print '

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

print '

 '.$row["createman"].'';

print '

'.$row["replycount"].'
';

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

print '

 '.$temptime.'';

print '

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

  
';

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

print '

 ';

print "

";

//end of 打印表尾

?>

include ("c:mydbfooter.inc");

?>

相关文章

1a1b05c64693fbf380aa1344a7812747.png

这篇文章主要介绍了Zend Framework教程之Zend_Helpers动作助手ViewRenderer用法,结合实例形式较为详细的分析了Zend_Helpers动作助手ViewRenderer的功能、使用方法与相关注意事项,需要的朋友可以参考下2016-07-07

4f55910a645b073bc4fc65dc10dc14bd.png

本篇文章是对PHP运行模式进行了详细的分析介绍,需要的朋友参考下2013-06-06

0ea3c7666119d5615e582f823fb3fad6.png

这篇文章主要介绍了微信封装的调用微信签名包的类库的相关资料,需要的朋友可以参考下2017-06-06

4f96a78db829b1556ff16de21e013c7a.png

这篇文章主要为大家详细介绍了apache php mysql开发环境安装教程,感兴趣的小伙伴们可以参考一下2016-07-07

8cc1031babc6aff2319f1c6af8544aa0.png

这篇文章主要介绍了php获取中文拼音首字母类和函数,需要的朋友可以参考下2014-04-04

0c932a99bb7b6f23c937db507070cc7b.png

这篇文章主要介绍了ThinkPHP访问不存在的模块跳转到404页面的方法,需要的朋友可以参考下2014-06-06

cca732bf65a93ed2ec0ac80c638460fe.png

做过 API 的人应该了解,其实开发 API 比开发 WEB 更简洁,但可能逻辑更复杂,因为 API 其实就是数据输出,不用呈现页面,所以也就不存在 MVC(API 只有 M 和 C),那么我们来探讨下,如何使用php进行手机API接口开发2014-08-08

2d9f31f2af7b675a3d153d2b7f1035a7.png

这篇文章主要介绍了thinkPHP通用控制器实现方法,结合实例形式分析了thinkPHP针对数据库的基本CURD操作方法的封装实现技巧,需要的朋友可以参考下2017-11-11

b452cee8ec5cd9e58ab98eba17281e59.png

PHP实现采集程序原理和简单示例代码...2007-03-03

f4838ec7e2d4da28e0b57d4e852dadd4.png

这篇文章主要介绍了PHP实现生成透明背景的PNG缩略图函数分享,需要的朋友可以参考下2014-07-07

最新评论

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值