首先说,我是为了做我自己搭建的wordpress博客的手机版才写的。博客地址:
快中午一点了,我写这篇文章,我会说我还没有吃饭么!今天是研究wordpress数据表的第二天,昨天中午也是,没有吃饭,晚上去吃的麻辣刀削面。
好了,闲话不说了,赶紧上货,还能赶上长廊的黄花菜没有凉! 先说说我的目的吧,我是想做一个博客的手机端,用的死JQM(Jquery Mobile),按照官方文档,做一个页面还是很简单的,重点就在于链接我自己的wordpress数据库。 下面是自己的一张效果图: 因为我的博客是放在了我们网站的linux服务器上,我想写个数据库连接的文件在另外一个服务器上链接数据库,可是,结果是让人悲痛的,提示了好多好多的错误,得出结果也就是一个,那就是不能从外部链接数据库。 所以,我把数据库链接文件放到服务器上,并且SQL语句的执行都是在服务器上,这样才解决了第一个大的问题。 第二个问题,wordpress中的数据表并不多,共13个,不要以为13个数据表很多了,比起来dedecms还有phpwind,这就是小巫见大巫了。 先看看我的博客,有几个目录,分为为:C语言,心情日记,UBUNTU,WORDPRESS,微信OPEN,还有一个关于Gavin的页面,当我点击C语言的时候,就会列出C语言目录下的文章,这样看来数据库应该很简单对不对,可是,事情远远没有想象的那么简单! 如果我们单纯的分析wp_posts数据表的话,为什么是这个,因为你这个数据表里面存放有每一篇文章的状态,内容,标题,发表时间,还有标签,但是我们却丝毫找不到可以下手来写SQL语句,这也是我昨天忙了一天都没有头绪的原因,找错地方了! 我在开源中国论坛提问,问wp_terms和wp_posts有什么关系,结果有人说注意一个表,wp_term_relationships,这才是曙光啊! 这里面总共有三个字段。object_id,term_taxonomy_id,term_order,下面来参考一下一篇博文:。 可以知道wp_term_relationships object_id:对应文章ID/链接ID term_taxonomy_id:对应分类方法ID term_order:排序 也就是说我们可以提取出来这样一条语句:wp_posts.id = wp_term_relationships.object_id
继续挖,打开数据表wp_term_taxonomy,有两个字段很重要,term_taxonomy_id与term_id,继续参考博客来看:
wp_term_taxonomy term_taxonomy_id:分类方法ID term_id:taxonomy:分类方法(category/post_tag) 联系上一个数据表,我们又可以提取出这样一条语句:wp_term_taxonomy.term_taxonomy_id = wp_term_relationships.term_taxonomy_id
继续挖!打开表wp_terms,会看到一个字段,term_id是不是和上面一个表中的一样?
我们就可以提炼出最后一条语句!wp_term_taxonomy.term_id = wp_terms.term_id
挖到这,差不多挖到祖坟了!
下面来写SQL语句,以查询“微信OPEN”下的文章为例,获取标题和内容SELECT post_content, post_titleFROM wp_posts, wp_term_relationships, wp_term_taxonomy, wp_termsWHERE wp_posts.id = wp_term_relationships.object_idAND wp_term_relationships.term_taxonomy_id = wp_term_taxonomy.term_taxonomy_idAND wp_term_taxonomy.term_id = wp_terms.term_idAND wp_terms.term_id =33
OK,饿死了!