首页 > CMS > Wordpress > 正文

Wordpress和phpbb数据库结构分析

2024-08-30 19:06:35
字体:
来源:转载
供稿:网友

论坛和博客的代码研究。

近来用python写的爬虫爬到的数据,正愁用什么做WEB呢,本来想用python 的web.py 这个模块的,但是太简单了,(或许是我太懒了..),djlango 又很复杂,懒得看,我突然想到,为什么不把数据库设计成wordpress 那样呢?这样直接让wordpress 读取就行了,省了很多事情呢....

于是乎就研究起了wordpress的数据库结构,顺带也看了PHPbb的数据库结构,但是phpbb是论坛,所以交互性..权限问题等等,这个都是很复杂的,所以phpbb只是稍微看了下,足可以直接向数据库插入数据,然后由phpbb读取就OK。这个根据自己的需要吧。(一般论坛是不需要爬虫的,因为都是用户在更新帖子。)

数据库名字为:phpbb

// phpbb_posts 
    post_id     #这是一个发帖的顺序。
    topic_id    #这是一个帖子的唯一ID。基本同上。
    forum_id        #这个是版面的ID。
    poster_id        #这个是用户的ID。(唯一的,在表 phpbb_users ->user_id )
    icon_id            #话题的标志...紧急,置顶...等。
    poster_ip        #发帖用户的IP。
    post_time    #发帖时间。
    post_username        #不详。
    post_subject        #帖子主题。
    post_text            #帖子内容。(没有HTML等标签。有内置标签,比如bbcode [codd][/code]  加上这些就行了。)
   
phpbb-users
    user_id            #用户唯一的ID。
    user_type        #用户类型。
    group_id        #用户组的ID
    username    #用户名字
    username_clean        #用户名字。
    user_password        #用户密码(MD5加密的。)
    user_mail        #用户邮箱地址。
   
phpbb_user_group

这里是用户组。
   
phpbb_topics
    topic_id        #帖子的ID
    forum_id        #版面ID
    icon_id            #话题图标
    topic_attchment        #顾名思义应该就是附件了。
    topic_title         #文章标题
    topic_poster    #发贴人的ID。

phpbb_forums
    这是版面,版面的权限设置,等等都是非常复杂的,用SQL来操作是不明智的,建议还是通过网页来配置完毕。
   
    forum_id        #版面的ID
    parend_id    #父类 。 (父版面)
    forum_parents        #父系关系。没有父类,为空。
    froum_name        #版面名字
    froum_desc            #版面描叙。
    forum_style         #主题样式。
    forum_rules            #版面规则。
    froum_rules_link     #规则链接。

这个我使用SQL 也无法正常的创建版面。不知道是哪里还有配置,以后有时间再看。

wp_posts
    ID                    #文章的ID,也就是GUID.  ?p=
    post_author     #发文章的用户,默认为一,即Admin.
    post_date         #发布的日期。
    post_date_gmt    #发布日期。(格林威治时间。)
    post_content    #文章的内容,是带有HTML标签进行保存的。
    post_title         #文章标题。
    post_status        #文章状态,默认是publish,即是发布状态。还有inherit,auto-draft ....等等,这些也有固定的ID,但是是不能显示的。
    comment_status    #评论权限,默认是open ,即允许评论。
    ping_status        #默认open。
    post_password    #密码。默认为空,没有。
    post_name        #自动把空格等替换成-,这样可以用来做网址。方便浏览器搜索。
    post_modified     #最后修改时间,虽然我测试的模板未调用这个数据,但是有的模板还是调用的,所以最好和前面的时间保持一致就OK了。
    post_modified_gmt     #同上,最后的修改时间。(格林威治时间。)
    guid                    #唯一的ID。是以网址的形式出现。(http://****.com/?p=124)
    post_type            #类型,文章是 post  ,页面是page
    post_parent        #文章的父类,比如草稿就是文章的ID,父类就是0。默认无须更改。
******************************************************************************
post_date 发布日期会影响在页面的排序,排序并不是按照ID来排序的。是按照日期。

wp_postmeta
    meta_id        #meta ID,应该是唯一的。
    post_id        #文章的ID , 注意是那个 publish 状态的那个,其他的,比如草稿可以写上,但是在meta_key 加上_edit_last....
    meta_value      #这个不详,从编辑器中编辑都是默认的 1 值,但是没有值一样还是可以的。   
    meta_key      #这个文章的状态,_edit_last 是最后编辑,应该是发布publish的那个。还有 _edit_lock .. _wp_old_slug 等,既然是数据库操作,其实只生产一个数据了,草稿那些几本是不存在的。
   
wp_comments
    comment_ID                #评论ID,唯一的。
    comment_post_ID        #所评论的文章的GUID 。
    comment_author         #评论者的名字。
    comment_author_email #评论者的Email。
    comment_author_url
    comment_author_IP
    comment_date
    comment_content        #评论的内容。(附有HTML标签。)

总结下wordpress数据库,写入数据库主要是wp_posts  和 wp_postmeta 这两张表,wp_posts ,主要写入的数据库是 ID author post_date(GMT) content title guid modified(GMT) 这几条数据。其余的都可以默认。

然后写入是 wp_postmeta 源信息,meta_id post_id meta_key 。就基本完成。

Note:

大家需要注意的是,wordpress 不是按照ID来排序的,他是按照post_date 这个来排序的。时间越晚,就越靠前。至于comment ,因为需要数据库直接操作的人一般都是导入信息,数据,所以也没有那个东西....其实也很简单,注释很明白了,大家自己琢磨~~~ :))

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表