【发布时间】:2013-02-02 07:04:04
【问题描述】:
我正在访问由另一家网络公司创建的数据库,以检索我当前客户的事件信息。我的客户输入事件信息并记录日期是否重复。我正在尝试显示所有重复日期。到目前为止,我已经能够显示所有内容,包括常规日期和重复日期。
表格排列如下:
- 活动
- Events_Recurring
这是事件表的一部分BIGGER PICTURE
这就是 Events_Recurring 表的样子
当客户端将其检查为重复时,events_recurring 表会创建一行,其中包含事件 ID 和其他信息,例如该事件在一周中的哪一天或每月的哪一天重复发生。
我只是不确定如何显示重复出现的特定 ID 的倍数。我有一个可以访问的开始日期和结束日期,以及它在一周中的哪一天重复出现。
例如:如果此事件在每个星期四再次发生。我知道它从 1 月 1 日开始,到 1 月 31 日结束,我可以通过它找出 4 个不同的事件,所有事件的日期都是 1 月的每个星期四吗?
这是我正在使用的完整代码,在尝试解决这个问题时有点混乱。我正在检查底部的重复率
// Access external database
$events_db = new wpdb(TOP SECRET CREDENTIALS HERE);
$events_db->show_errors();
if ($events_db) :
// Query Events Database
$events = $events_db->get_results(
"
SELECT ID, RequestDateStart, RequestDateEnd, Ministry, RequestTimeStart, EventName, CoordinatorName, EventDescription, Location
FROM gc_events
WHERE PrivateEvent = 0
AND Ministry = 15
AND date(RequestDateStart)>=date(NOW())
ORDER BY RequestDateStart
"
);
// Create the event data that will be displayed
foreach ($events as $event) :
// Store Event ID in a variable
$masterID = $event->ID;
echo '<div class="col-12">';
echo '<strong>ID:</strong> ' . $event->ID . '<br /><strong>Event Name:</strong> ' . $event->EventName . '<br /><strong>Leader:</strong> ' . $event->CoordinatorName . '<br /><strong>Date:</strong> ' . date('l, F j',strtotime($event->RequestDateStart)) . '<br /><strong>Start Time:</strong> ' . date('g:i a',strtotime($event->RequestTimeStart));
// CHECK IF RECURRING
$recurring_events = $events_db->get_results(
"
SELECT gc_event_id, period, day
FROM gc_event_recurring
WHERE gc_event_id = '$masterID'
"
);
foreach ($recurring_events as $recurring_event) :
if ($recurring_event->period === 'week') {
echo '<div class="col-12"><strong>↑ WEEKLY</strong><br />';
echo $recurring_event->day;
echo '</div>';
}
endforeach;
echo '</div>';
endforeach;
endif;
我现在得到的结果(重复事件)是
活动:每周祈祷
日期:2013 年 2 月 1 日
我想要的结果是
活动:每周祈祷
日期:2013 年 2 月 1 日
活动:每周祈祷
日期:2013 年 2 月 8 日
活动:每周祈祷
日期:2013 年 2 月 15 日
活动:每周祈祷
日期:2013 年 2 月 22 日
如果开始日期是 2 月 1 日,结束日期是 2 月 28 日。
【问题讨论】:
-
您的问题令人困惑,能否请您显示代码,是的,请尝试以一种好的方式定义您的问题,不要惊慌,冷静并写下
-
尽量不要惊慌 :) 添加了更多信息,以及我正在使用的代码
-
所以,重复事件显示多次?
-
($recurring_event->period === 'week')不要使用===使用== -
请发布表结构和临时数据;也是您想要获得的样本结果