gpt4 book ai didi

php - WordPress 手册根据 postmeta 列值选择 MySQL

转载 作者:行者123 更新时间:2023-11-30 22:07:06 25 4
gpt4 key购买 nike

我正在为我的 WordPress 项目构建自定义 PHP 页面。我的项目是关于事件信息的。所以我正在创建一个页面来根据日期范围搜索事件。

事件表

post_id  | title        |
25 | Marathon Run |

后元表

meta_id | post_id | meta_key  | meta_value
1 | 25 | StartDate | 2016-12-25 00:00
2 | 25 | EndDate | 2016-12-26 00:00

WordPress 以复杂的方式存储数据,如上表所示。 “StartDate”和“EndDate”作为值存储在 meta_key 列中,“StartDate”和“EndDate”的实际值存储在 meta_value 列中。

我发现很难像我一直使用的通常结构那样进行过滤,例如:

SELECT * FROM events WHERE startdate <= $startdate AND enddate >= $enddate

如何编写MySQL语句来过滤这种结构的日期范围?谢谢

最佳答案

看起来您需要加入事件表(在 post_id 上),然后过滤 meta_key(对于 StartDate 和 EndDate),然后检查它是否在正确的范围内。

见下文;

SELECT * FROM events JOIN postmeta ON events.post_id = postmeta.post_id WHERE (meta_key = 'StartDate' AND meta_value <= $startdate) AND (meta_key = 'EndDate' AND meta_value >= $enddate)

关于php - WordPress 手册根据 postmeta 列值选择 MySQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41297943/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com