Php wordpress日事件的MySQL查询

Php wordpress日事件的MySQL查询,php,mysql,sql,wordpress,Php,Mysql,Sql,Wordpress,我是一名WordPress(PHP)开发人员,但是我没有做过很多复杂的MySQL查询。我在一个活动网站上工作,希望创建过滤器:用户应该能够根据以下条件过滤事件:今天、明天、本周末、未来7天,选择您的日期 用于过滤事件的元数据如下所示,可以在Meta_键列的post Meta db表中找到 start_date end_date times recurring_event days sold_out cancelled 这是表格的外观: id post\u id meta\u key meta\

我是一名WordPress(PHP)开发人员,但是我没有做过很多复杂的MySQL查询。我在一个活动网站上工作,希望创建过滤器:用户应该能够根据以下条件过滤事件:今天、明天、本周末、未来7天,选择您的日期

用于过滤事件的元数据如下所示,可以在Meta_键列的post Meta db表中找到

start_date
end_date
times
recurring_event
days
sold_out
cancelled
这是表格的外观:

id post\u id meta\u key meta\u值
1 12开工日期20140923
22天a:4:{i:0;s:6:“星期一”;i:1;s:9:“星期三”;i:2;s:6:“星期五”;i:3;s:8:“星期六”}
3 12结束日期20141003
4 78重复发生的事件0
5 34次24小时
6 12天a:2:{i:0;s:6:“星期一”;i:1;s:7:“星期二”}
7 67开始日期20140906
8 45结束日期20141108

我可以使用什么MySQL查询来获取今天、明天、周末和7天的事件。

我对SQL了解不够,那么,对于这种情况,我将使用PHP计算日期,然后使用SQL进行查询

以下是帮助我实现以下目标的页面:

1) 对于今天,无需计算,只需获取今天的日期并进行查询:

<?php
$today = date('Y-m-d',mktime());
$result = mysqli_query($connect, 'SELECT * FROM events WHERE start_date = "'.$today.'"');
?>

周末和接下来的7天,您可能需要混合使用sql和php

今天

明天

 SELECT * from  tablename where start_date = CURDATE()+INTERVAL 1 DAY;
对于周末,你必须先找到周末的日期

使用

SELECT DAYOFWEEK
您可以找到当前日期。所以如果你有一个数组,匹配它并 加上周六和周日的天数。 我不知道还有什么简单的方法

未来7天

 SELECT * from  tablename where start_date >= CURDATE() and 
start_date=< CURDATE()+INTERVAL 7 DAY;
从tablename中选择*,其中start\u date>=CURDATE()和
开始日期=
使用本教程并亲自尝试:-)


Zod的答案要好得多!Zod,谢谢,我改进了查询,从tablename中选择了*FROM,其中meta_key='start_date'=CURDATE(),它是成功的,但当我使用phpMyadmin进行查询时,结果为零。我需要添加什么吗?start_date是表字段吗?如果meta_key是字段名,那是什么样的数据库结构?如果meta_key是字段名,您可以尝试这种方式,其中meta_key='start_date'和meta_value=date_格式(curdate(),'%Y/%m/%d')这是wordpress数据库,表是post_meta,因此开始日期、结束日期、日期和时间位于meta_key行下,如我的问题中所示。不确定日期格式是否有问题,因为wordpress事件日期另存为文本的格式如20140923,不确定格式是否有问题?
 SELECT * from  tablename where start_date = CURDATE()+INTERVAL 1 DAY;
SELECT DAYOFWEEK
 SELECT * from  tablename where start_date >= CURDATE() and 
start_date=< CURDATE()+INTERVAL 7 DAY;