基于phpmysql技术bbs论坛设计的开发与实现内容摘要:

KSJKL KSGK JKLGJSLSK JSGKL JLSGJSLJ GJGKL JLSJ KL JGKL JGKL JKL cat_order mediumint 8 否 否 讨论去顺序 5 phpbb_posts 表 该表保存了所有帖子的主要信息 ,包括帖子号、发帖者编号、发表时间等 ,如表 5。 表 5: phpbb_posts 表 字段名 类型 长度 允许为空 是否主键 描述 post_id mediumint 8 否 是 帖子编号 topic_id mediumint 8 否 否 主题编号 forum_id smallint 5 否 否 论坛编号 poster_id mediumint 8 否 否 发帖者编号 post_time int 11 否 否 发表时间 poster_ip char 8 否 否 发帖者 IP enable_smilies tinyint 1 否 否 允许使用表情 enable_sig tinyint 1 否 否 允许使用签名 post_edit_time int 11 是 否 帖子编辑时间 post_edit_count smallint 5 否 否 帖子编辑次数 6 phpbb_posts_text 表 该表保存了所有的帖子,包括发帖和回帖的名称和内容。 各字段的具体内容如表 6: 表 6: phpbb_post_text 表 字段名 类型 长度 允许为空 是否主键 描述 post_id mediumint 8 否 是 帖子编号 post_subject char 60 是 否 帖子名称 post_text text / 是 否 帖子内容 7 phpbb_themes 表 该表保存了系统的显示风格设置,如背景颜色、文字样式、字体颜色等。 各字段内容如表 7: FGSJJLKSJGKLJG JLS JGKJ KJ SKJ KJSKLGJKSJLKSJKL KSGK JKLGJSLSK JSGKL JLSGJSLJ GJGKL JLSJ KL JGKL JGKL JKL 表 7: phpbb_themes 表 字段名 类型 长度 允许为空 是否主键 描述 themes_id mediumint 8 否 是 主题编号 style_name varchar 30 否 否 风格名称 body_background varchar 100 是 否 body 背景图片 body_bgcolor varchar 6 是 否 Body 背景色 body_text varchar 6 是 否 Body 文本 body_link varchar 6 是 否 正常链接颜色 body_vlink varchar 6 是 否 已点击链接色 body_alink varchar 6 是 否 鼠标按下链接色 body_hlink varchar 6 是 否 鼠标移过链接色 tr_color1 varchar 6 是 否 行颜色 1 tr_color2 varchar 6 是 否 行颜色 2 tr_color3 varchar 6 是 否 行颜色 3 th_color1 varchar 6 是 否 表格头颜色 1 th_color2 varchar 6 是 否 表格头颜色 2 th_color3 varchar 6 是 否 表格头颜色 3 td_color1 varchar 6 是 否 列颜色 1 td_color2 varchar 6 是 否 列颜色 2 td_color3 varchar 6 是 否 列颜色 3 fontsize1 tinyint 4 是 否 字体大小 1 fontsize2 tinyint 4 是 否 字体大小 2 fontsize3 tinyint 4 是 否 字体大小 3 fontcolor1 varchar 6 是 否 字体颜色 1 fontcolor2 varchar 6 是 否 字体颜色 2 fontcolor3 varchar 6 是 否 字体颜色 3 FGSJJLKSJGKLJG JLS JGKJ KJ SKJ KJSKLGJKSJLKSJKL KSGK JKLGJSLSK JSGKL JLSGJSLJ GJGKL JLSJ KL JGKL JGKL JKL 4 系统的实现 通用类实现 为了使代码能够重复利用,实现代码的重用性,可以把一些常用的功能代码单独写在一个文件内,如连接数据库代码,头部和尾部文件等。 在使用时可以用include 关键字把这些代码包含到文件中,可以减少代码的重复。 连接数据库文件 文件 即为连接数据库的文件,该文件被放在 includes 目录下。 代码如下: 以上代码执行的步骤如下所示: a) 应用“ if(!defined(‘ IN_PHPBB’ ))”语句判断是否定义常量,如果没有定义则提示错误信息 ?php //判断是否定义常量 in_phpbb if ( !defined(39。 IN_PHPBB39。 ) ) { die(Hacking attempt)。 } /*根据用户的数据库,包含数据库文件, $dbms 变量是从 文件中获取 */ include($phpbb_root_path . 39。 db/mysql.39。 .$phpEx)。 //连接数据库服务器,建立数据库连接对象 $db = new sql_db($dbhost, $dbuser, $dbpasswd, $dbname, false)。 //如果连接失败则提示错误信息 if(!$dbdb_connect_id) { message_die(CRITICAL_ERROR, 不能连接数据库。 )。 } ? FGSJJLKSJGKLJG JLS JGKJ KJ SKJ KJSKLGJKSJLKSJKL KSGK JKLGJSLSK JSGKL JLSGJSLJ GJGKL JLSJ KL JGKL JGKL JKL b) 应用“ swith($dbms)”语句获取用户使用的数据库名称,不同的数据库包含不同的数据库操作文件 c) 应用“ $db=new sql_db($dbhost,$dbuser,$dbpassword,$dbname,false)” 语句建立一个数据库连接对象。 d) 判断数据库是否连接成功,如果连接失败,则提示“不能连接数据库”。 数据库操作类 整个类的定义在 文件中,类的定义及其属性的定义如下所示: 在以上代码中,首先判断是否定义常量,如果没有定义,则使用 define()函数定义常量。 然后,定义一个名为 sql_db 的类,也为该类定义了多个属性。 同时,在 sql_db 类中定义多个方法,在其中定义了一个选择数据库的函数?php if(!defined(SQL_LAYER)) { //定义常量 define(SQL_LAYER,mysql)。 //创建一个 sql_db类 class sql_db { //定义属性 var $db_connect_id。 var $query_result。 var $row = array()。 var $rowset = array()。 var $num_queries = 0。 //省略函数代码 } } ? FGSJJLKSJGKLJG JLS JGKJ KJ SKJ KJSKLGJKSJLKSJKL KSGK JKLGJSLSK JSGKL JLSGJSLJ GJGKL JLSJ KL JGKL JGKL JKL sql_db()。 如下所示: //选择数据库 function sql_db($sqlserver, $sqluser, $sqlpassword, $database, $persistency = true) { //设置属性的值 $thispersistency = $persistency。 $thisuser = $sqluser。 $thispassword = $sqlpassword。 $thisserver = $sqlserver。 $thisdbname = $database。 if($thispersistency) { //连接 MySQL服务器 $thisdb_connect_id = @mysql_pconnect($thisserver, $thisuser, $thispassword)。 } else { $thisdb_connect_id = @mysql_connect($thisserver, $thisuser, $thispassword)。 } if($thisdb_connect_id) { //判断数据库名是否为空 if($database != ) { //获取数据库的名称 $thisdbname = $database。 FGSJJLKSJGKLJG JLS JGKJ KJ SKJ KJSKLGJKSJLKSJKL KSGK JKLGJSLSK JSGKL JLSGJSLJ GJGKL JLSJ KL JGKL JGKL JKL 以上代码的执行的步骤如下所示: a) 设置使用的数据库、数据库服务器、用户名和密码的值等。 b) 分别使用 mysql_pconnect()函数和 mysql_connect()函数连接 MySQL数据库服务器。 其中, mysql_pconnect()函数用于打开一个到 MySQL 服务器的持久连接,而 mysql_connect()函数用于打开一个到 MySQL 服务器的连接。 c) 应用“ $dbselect=@mysql_select_db($thisdbname)”语句选择服务器上的数据库。 d) 应用“ if(!dbselect)”语句判断是否选择数据库,如果没有选择数据库,则调用 mysql_close()函数关闭数据库连接。 另外 ,函数名为 sql_close(), //选择数据库 $dbselect = @mysql_select_db($thisdbname)。 //如果没有选择到数据库 if(!$dbselect) { //关闭数据库 @mysql_close($thisdb_connect_id)。 $thisdb_connect_id = $db。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。