博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
wordpress的多表查询
阅读量:6255 次
发布时间:2019-06-22

本文共 1759 字,大约阅读时间需要 5 分钟。

  hot3.png

首先说,我是为了做我自己搭建的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,饿死了!

转载于:https://my.oschina.net/gavin0/blog/157346

你可能感兴趣的文章
oracle的drop命令
查看>>
设计与梳理企业二级流程的路线方法
查看>>
垃圾回收概念与算法
查看>>
TFS实现需求工作项自动级联保存
查看>>
springmvc 4.x 处理json 数据时中文乱码
查看>>
Python练习(day7)
查看>>
网络工程师笔试题总结
查看>>
飞舞的蝴蝶
查看>>
对Map按key和value分别排序
查看>>
Async Performance: Understanding the Costs of Async and Await
查看>>
POJ2771_Guardian of Decency(二分图/最大独立集=N-最大匹配)
查看>>
Linux中select poll和epoll的区别
查看>>
Cocos2d-x之MenuItem
查看>>
远程共享文件夹
查看>>
[转] C/C++中printf和C++中cout的输出格式
查看>>
swift 如何实现点击view后显示灰色背景
查看>>
【Android】3.9 覆盖物功能
查看>>
MySQL也有潜规则 – Select 语句不加 Order By 如何排序?
查看>>
搭建SolrCloud的详细步骤
查看>>
svn的安装与使用
查看>>