[英]MySQL query for wordpress day events
我是WordPress(PHP)開發人員,但是我並沒有做很多復雜的MySQL查詢。 我正在活動網站上工作,並希望創建過濾器:用戶應能夠按照以下條件過濾事件:今天,明天,本周末,接下來的7天,選擇您的日期。
下面是用於過濾事件的元數據,可以在meta_key列的post meta db表中找到。
start_date
end_date
times
recurring_event
days
sold_out
cancelled
該表如下所示:
id post_id meta_key meta_value
1 12 start_date 20140923
2 22 days a:4:{i:0;s:6:"monday";i:1;s:9:"wednesday";i:2;s:6:"friday";i:3;s:8:"saturday"}
3 12 end_date 20141003
4 78 recurring_event 0
5 34 times 24 Hours
6 12 days a:2:{i:0;s:6:"monday";i:1;s:7:"tuesday";}
7 67 start_date 20140906
8 45 end_date 20141108
我可以使用哪些MySQL查詢來獲取今天,明天,周末和7天的事件。
我對SQL不夠了解,因此,在這種情況下,我將使用PHP計算日期,然后使用SQL進行查詢。
這些頁面為我提供了以下幫助:
http://php.net/manual/fr/function.date.php
http://php.net/manual/fr/function.mktime.php
1)對於今天,無需計算,只需獲取今天的日期並進行查詢:
<?php
$today = date('Y-m-d',mktime());
$result = mysqli_query($connect, 'SELECT * FROM events WHERE start_date = "'.$today.'"');
?>
2)明天,計算明天:
<?php
$tomorow = date('Y-m-d',mktime(0, 0, 0, date("m") , date("d")+1, date("Y")));
$result = mysqli_query($connect, 'SELECT * FROM events WHERE start_date = "'.$tomorow.'"');
?>
3)7天后,計算7天后日期:
<?php
$day7 = date('Y-m-d',mktime(0, 0, 0, date("m") , date("d")+7, date("Y")));
$result = mysqli_query($connect, 'SELECT * FROM events WHERE start_date = "'.$day7.'"');
?>
3)周末,周末來了:對於這個,我不能這么快寫,對不起。
說明:
date('Ym-d',mktime()); 今天給出2014-09-04美元。
因為mktime()為空,所以mktime()基於服務器時間,沒有參數。
Y => year如####
m =>月,如##
d =>天像##
date('Ym-d',mktime(0,0,0,date(“ m”),date(“ d”)+ 1,date(“ Y”)))); 給2014-09-05
這次我們為mktime()提供了參數,0小時0分鍾0秒0,09,04 + 1,2014。
date(“ m”)= 09
date(“ d”)+ 1 = 04 + 1 = 05
日期(“ Y”)= 2014
希望對您有所幫助。 對不起,但是我不知道如何將PHP放入Wordpress。 尼爾斯
對於周末和接下來的7天,您可能必須混合使用sql和php
今天
SELECT * from tablename where start_date=CURDATE();
明天
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;
使用教程並嘗試一下:-)
http://dev.mysql.com/doc/refman/5.5/zh-CN/date-and-time-functions.html#function_curdate
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.