
### 用户表 ### DROP TABLE IF EXISTS `bbs_user`; CREATE TABLE `bbs_user` ( uid int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT 用户编号,表结 gid smallint(6) unsigned NOT NULL DEFAULT 0 COMMENT 用户组编号, # 如果要屏蔽,调整用户组即可 email char(40) NOT NULL DEFAULT COMMENT 邮箱,表结 username char(32) NOT NULL DEFAULT COMMENT 用户名, # 不可以重复 realname char(16) NOT NULL DEFAULT COMMENT 用户名, # 真实姓名,天朝预留 idnumber char(19) NOT NULL DEFAULT COMMENT 用户名,表结 # 真实身份证号码,天朝预留 `password` char(32) NOT NULL DEFAULT COMMENT 密码,表结 `password_sms` char(16) NOT NULL DEFAULT COMMENT 密码, # 预留,手机发送的表结 sms 验证码 salt char(16) NOT NULL DEFAULT COMMENT 密码混杂, mobile char(11) NOT NULL DEFAULT COMMENT 手机号, # 预留,供二次开发扩展 threads int(11) NOT NULL DEFAULT 0 COMMENT 发帖数,表结
商业源码 # posts int(11) NOT NULL DEFAULT 0 COMMENT 回帖数, # credits int(11) NOT NULL DEFAULT 0 COMMENT 积分, # 预留 ,供二次开发扩展 golds int(11) NOT NULL DEFAULT 0 COMMENT 金币,表结 # 预留,虚拟币 rmbs int(11) NOT NULL DEFAULT 0 COMMENT 人民币,表结 # 预留,人民币 create_ip int(11) unsigned NOT NULL DEFAULT 0 COMMENT 创建时IP,表结 create_date int(11) unsigned NOT NULL DEFAULT 0 COMMENT 创建时间, login_ip int(11) unsigned NOT NULL DEFAULT 0 COMMENT 登录时IP, login_date int(11) unsigned NOT NULL DEFAULT 0 COMMENT 登录时间, logins int(11) unsigned NOT NULL DEFAULT 0 COMMENT 登录次数, avatar int(11) unsigned NOT NULL DEFAULT 0 COMMENT 用户最后更新图像时间, PRIMARY KEY(uid), UNIQUE KEY username(username), UNIQUE KEY email(email), # 升级的时候可能为空 KEY gid(gid) ) ENGINE=MyISAM DEFAULT CHARSET=utf8; INSERT INTO `bbs_user` SET uid=1, gid=1, email=admin@admin.com, username=admin,`password`=d98bb50e808918dd45a8d92feafc4fa3,salt=123456; # 用户组 DROP TABLE IF EXISTS `bbs_group`; CREATE TABLE `bbs_group` ( gid smallint(6) unsigned NOT NULL, # name char(20) NOT NULL default , # 用户组名称 creditsfrom int(11) NOT NULL default 0, # 积分从 creditsto int(11) NOT NULL default 0, # 积分到 allowread int(11) NOT NULL default 0, # 允许访问 allowthread int(11) NOT NULL default 0, # 允许发主题 allowpost int(11) NOT NULL default 0, # 允许回帖 allowattach int(11) NOT NULL default 0, # 允许上传文件 allowdown int(11) NOT NULL default 0, # 允许下载文件 allowtop int(11) NOT NULL default 0, # 允许置顶 allowupdate int(11) NOT NULL default 0, # 允许编辑 allowdelete int(11) NOT NULL default 0, # 允许删除 allowmove int(11) NOT NULL default 0, # 允许移动 allowbanuser int(11) NOT NULL default 0,
本尊科技 # 允许禁止用户 allowdeleteuser int(11) NOT NULL default 0, # 允许删除用户 allowviewip int(11) unsigned NOT NULL default 0, # 允许查看用户敏感信息 PRIMARY KEY(gid) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci; INSERT INTO `bbs_group` SET gid=0, name="游客组", creditsfrom=0, creditsto=0, allowread=1, allowthread=0, allowpost=1, allowattach=0, allowdown=1, allowtop=0, allowupdate=0, allowdelete=0, allowmove=0, allowbanuser=0, allowdeleteuser=0, allowviewip=0; INSERT INTO `bbs_group` SET gid=1, name="管理员组", creditsfrom=0, creditsto=0, allowread=1, allowthread=1, allowpost=1, allowattach=1, allowdown=1, allowtop=1, allowupdate=1, allowdelete=1, allowmove=1, allowbanuser=1, allowdeleteuser=1, allowviewip=1; INSERT INTO `bbs_group` SET gid=2, name="超级版主组", creditsfrom=0, creditsto=0, allowread=1, allowthread=1, allowpost=1, allowattach=1, allowdown=1, allowtop=1, allowupdate=1, allowdelete=1, allowmove=1, allowbanuser=1, allowdeleteuser=1, allowviewip=1; INSERT INTO `bbs_group` SET gid=4, name="版主组", creditsfrom=0, creditsto=0, allowread=1, allowthread=1, allowpost=1, allowattach=1, allowdown=1, allowtop=1, allowupdate=1, allowdelete=1, allowmove=1, allowbanuser=1, allowdeleteuser=0, allowviewip=1; INSERT INTO `bbs_group` SET gid=5, name="实习版主组", creditsfrom=0, creditsto=0, allowread=1, allowthread=1, allowpost=1, allowattach=1, allowdown=1, allowtop=1, allowupdate=1, allowdelete=0, allowmove=1, allowbanuser=0, allowdeleteuser=0, allowviewip=0; INSERT INTO `bbs_group` SET gid=6, name="待验证用户组", creditsfrom=0, creditsto=0, allowread=1, allowthread=0, allowpost=1, allowattach=0, allowdown=1, allowtop=0, allowupdate=0, allowdelete=0, allowmove=0, allowbanuser=0, allowdeleteuser=0, allowviewip=0; INSERT INTO `bbs_group` SET gid=7, name="禁止用户组", creditsfrom=0, creditsto=0, allowread=0, allowthread=0, allowpost=0, allowattach=0, allowdown=0, allowtop=0, allowupdate=0, allowdelete=0, allowmove=0, allowbanuser=0, allowdeleteuser=0, allowviewip=0; INSERT INTO `bbs_group` SET gid=101, name="一级用户组", creditsfrom=0, creditsto=50, allowread=1, allowthread=1, allowpost=1, allowattach=1, allowdown=1, allowtop=0, allowupdate=0, allowdelete=0, allowmove=0, allowbanuser=0, allowdeleteuser=0, allowviewip=0; INSERT INTO `bbs_group` SET gid=102, name="二级用户组", creditsfrom=50, creditsto=200, allowread=1, allowthread=1, allowpost=1, allowattach=1, allowdown=1, allowtop=0, allowupdate=0, allowdelete=0, allowmove=0, allowbanuser=0, allowdeleteuser=0, allowviewip=0; INSERT INTO `bbs_group` SET gid=103, name="三级用户组", creditsfrom=200, creditsto=1000, allowread=1, allowthread=1, allowpost=1, allowattach=1, allowdown=1, allowtop=0, allowupdate=0, allowdelete=0, allowmove=0, allowbanuser=0, allowdeleteuser=0, allowviewip=0; INSERT INTO `bbs_group` SET gid=104, name="四级用户组", creditsfrom=1000, creditsto=10000, allowread=1, allowthread=1, allowpost=1, allowattach=1, allowdown=1, allowtop=0, allowupdate=0, allowdelete=0, allowmove=0, allowbanuser=0, allowdeleteuser=0, allowviewip=0; INSERT INTO `bbs_group` SET gid=105, name="五级用户组", creditsfrom=10000, creditsto=10000000, allowread=1, allowthread=1, allowpost=1, allowattach=1, allowdown=1, allowtop=0, allowupdate=0, allowdelete=0, allowmove=0, allowbanuser=0, allowdeleteuser=0, allowviewip=0; # 板块表 ,一级,表结 runtime 中存放 forumlist 格式化以后的数据。 DROP TABLE IF EXISTS bbs_forum; CREATE TABLE bbs_forum( fid int(11) unsigned NOT NULL auto_increment,表结 # fid # fup int(11) unsigned NOT NULL auto_increment, # 上一级版块,二级版块作为插件 name char(16) NOT NULL default ,表结 # 版块名称 rank tinyint(3) unsigned NOT NULL default 0, # 显示
,倒序
,表结数字越大越靠前 threads mediumint(8) unsigned NOT NULL default 0,表结 # 主题数 todayposts mediumint(8) unsigned NOT NULL default 0,# 今日发帖,计划任务每日凌晨0点清空为0,表结 todaythreads mediumint(8) unsigned NOT NULL default 0,# 今日发主题,计划任务每日凌晨0点清空为0 brief text NOT NULL, # 版块简介 允许HTML announcement text NOT NULL, # 版块公告 允许HTML accesson int(11) unsigned NOT NULL default 0, # 是否开启权限控制 orderby tinyint(11) NOT NULL default 0, # 默认列表排序
,0: 顶贴时间 last_date
, 1: 发帖时间 tid create_date int(11) unsigned NOT NULL default 0, # 板块创建时间 icon int(11) unsigned NOT NULL default 0, # 板块是否有 icon,存放最后更新时间 moduids char(120) NOT NULL default , # 每个版块有多个版主,最多10个: 10*12 = 120
,删除用户的时候,如果是版主 ,则调整后再删除
。逗号分隔 seo_title char(64) NOT NULL default , # SEO 标题 ,如果设置会代替版块名称 seo_keywords char(64) NOT NULL default , # SEO keyword PRIMARY KEY(fid) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci; INSERT INTO bbs_forum SET fid=1, name=默认版块, brief=默认版块介绍; # cache_date int(11) NOT NULL default 0, # 最后 threadlist 缓存的时间
,6种排序前10页结果缓存。如果是前10页,先读缓存 ,并依据此字段过期。更新条件:发贴 # 版块访问规则,
源码大全 forum.accesson 开启时生效, 记录行数
: fid * gid DROP TABLE IF EXISTS bbs_forum_access; CREATE TABLE bbs_forum_access( # 字段中文名 fid int(11) unsigned NOT NULL default 0, # fid gid int(11) unsigned NOT NULL default 0, # fid allowread tinyint(1) unsigned NOT NULL default 0, # 允许查看 allowthread tinyint(1) unsigned NOT NULL default 0, # 允许发主题 allowpost tinyint(1) unsigned NOT NULL default 0, # 允许回复 allowattach tinyint(1) unsigned NOT NULL default 0, # 允许上传附件 allowdown tinyint(1) unsigned NOT NULL default 0, # 允许下载附件 PRIMARY KEY(fid, gid) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci; # 论坛主题 DROP TABLE IF EXISTS bbs_thread; CREATE TABLE bbs_thread( fid smallint(6) NOT NULL default 0, # 版块 id tid int(11) unsigned NOT NULL auto_increment, # 主题id top tinyint(1) NOT NULL default 0, # 置顶级别: 0: 普通主题, 1-3 置顶的顺序 uid int(11) unsigned NOT NULL default 0, # 用户id userip int(11) unsigned NOT NULL default 0, # 发帖时用户ip ip2long(),主要用来清理 subject char(128) NOT NULL default , # 主题 create_date int(11) unsigned NOT NULL default 0, # 发帖时间 last_date int(11) unsigned NOT NULL default 0, # 最后回复时间 views int(11) unsigned NOT NULL default 0, # 查看次数, 剥离出去,单独的服务
,避免 cache 失效 posts int(11) unsigned NOT NULL default 0, # 回帖数 images tinyint(6) NOT NULL default 0, # 附件中包含的图片数 files tinyint(6) NOT NULL default 0, # 附件中包含的文件数 mods tinyint(6) NOT NULL default 0, # 预留:版主操作次数,如果 > 0, 则查询 modlog,显示斑竹的评分 closed tinyint(1) unsigned NOT NULL default 0, # 预留
:是否关闭,关闭以后不能再回帖、编辑。 firstpid int(11) unsigned NOT NULL default 0, # 首贴 pid lastuid int(11) unsigned NOT NULL default 0, # 最近参与的 uid lastpid int(11) unsigned NOT NULL default 0, # 最后回复的 pid PRIMARY KEY(tid), # 主键 KEY(lastpid), # 最后回复排序 KEY(fid, tid), # 发帖时间排序,正序。数据量大时可以考虑建立小表,对小表进行分区优化,只有数据量达到千万级以上时才需要。 KEY(fid, lastpid) # 顶贴时间排序 ,倒序 ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci; # 置顶主题 DROP TABLE IF EXISTS bbs_thread_top; CREATE TABLE bbs_thread_top( fid smallint(6) NOT NULL default 0, # 查找板块置顶 tid int(11) unsigned NOT NULL default 0, # tid top int(11) unsigned NOT NULL default 0, # top: 0 是普通最新贴,> 0 置顶贴。 PRIMARY KEY(tid), # KEY(top, tid), # 最新贴:top=0 order by tid desc / 全局置顶: top=3 KEY(fid, top) # 版块置顶的贴 fid=1 and top=1 ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci; # 论坛帖子数据 DROP TABLE IF EXISTS bbs_post; CREATE TABLE bbs_post( tid int(11) unsigned NOT NULL default 0, # 主题id pid int(11) unsigned NOT NULL auto_increment, # 帖子id uid int(11) unsigned NOT NULL default 0, # 用户id isfirst int(11) unsigned NOT NULL default 0, # 是否为首帖,与 thread.firstpid 呼应 create_date int(11) unsigned NOT NULL default 0, # 发贴时间 userip int(11) unsigned NOT NULL default 0, # 发帖时用户ip ip2long() images smallint(6) NOT NULL default 0, # 附件中包含的图片数 files smallint(6) NOT NULL default 0, # 附件中包含的文件数 doctype tinyint(3) NOT NULL default 0, # 类型 ,0: html, 1: txt; 2: markdown; 3: ubb quotepid int(11) NOT NULL default 0, # 引用哪个 pid,可能不存在 message longtext NOT NULL, # 内容,用户提示的原始数据 message_fmt longtext NOT NULL, # 内容 ,存放的过滤后的html内容 ,可以定期清理
,减肥。 PRIMARY KEY(pid), KEY(tid, pid) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci; #论坛附件表 只能按照从上往下的方式查找和删除! 此表如果大,可以考虑通过 aid 分区 。 DROP TABLE IF EXISTS bbs_attach; CREATE TABLE bbs_attach( aid int(11) unsigned NOT NULL auto_increment , # 附件id tid int(11) NOT NULL default 0, # 主题id pid int(11) NOT NULL default 0, # 帖子id uid int(11) NOT NULL default 0, # 用户id filesize int(8) unsigned NOT NULL default 0, # 文件尺寸,单位字节 width mediumint(8) unsigned NOT NULL default 0, # width > 0 则为图片 height mediumint(8) unsigned NOT NULL default 0, # height filename char(120) NOT NULL default , # 文件名称,会过滤 ,并且截断,
免费网站源码保存后的文件名,不包含URL前缀 upload_url orgfilename char(120) NOT NULL default , # 上传的原文件名 filetype char(7) NOT NULL default , # 文件类型: image/txt/zip,小图标显示
<i class="icon filetype image">i> create_date int(11) unsigned NOT NULL default 0, # 文件上传时间 UNIX 时间戳 comment char(100) NOT NULL default , # 文件注释 方便于搜索 downloads int(11) NOT NULL default 0, # 下载次数 ,预留 credits int(11) NOT NULL default 0, # 需要的积分,预留 golds int(11) NOT NULL default 0, # 需要的金币
,预留 rmbs int(11) NOT NULL default 0, # 需要的人民币