Repeat event calendar by weekdays like google calendar in php

亡梦爱人 提交于 2020-01-23 19:26:08

问题


I created an events calendar which allows the user to add events. The events adding allows for daily, weekly, monthly (and yearly) events creation.

Well, everything works GREAT, but if user select weekly event with days(monday,tueday,wednesday..)it will not work , my code is

 function recurringEvents($type, $interval, $date) {
    $startdate = date('Y-m-d', strtotime($date));
    $day = explode('-', $startdate);
    $datetotime = mktime(0,0,0,$day[1], $day[2], $day[0]);
    $dates = array();
    //If interval type is daily
    if($type == 'D') {
        for($i=1;$i<$interval-1;$i++) {
            $newdate = '+ '. $i .' day';
            $dates[] = date('Y-m-d', strtotime($newdate, $datetotime));
        }
    }
    //If interval type is weekly
    if($type == 'W') {
        for($i=1;$i<$interval;$i++) {
            $newdate = '+ '. $i .' week';
            $dates[] = date('Y-m-d', strtotime($newdate, $datetotime));
        }
    }
    //If interval type is monthly
    if($type == 'M') {
        for($i=1;$i<$interval;$i++) {
            $newdate = '+ '. $i .' month';
            $dates[] = date('Y-m-d', strtotime($newdate, $datetotime));
        }
    }
    //If interval type is yearly
    if($type == 'Y') {
        for($i=1;$i<$interval;$i++) {
            $newdate = '+ '. $i .' year';
            $dates[] = date('Y-m-d', strtotime($newdate, $datetotime));
        }
    }
    return $dates;
}

how to store the specific week events selected by the user ,

example user input is ,

start date : 2-5-2014
end date   : 2-5-2014
Repeats:   : Weekly 
Repeat every: 2 weeks
Repeat on: Sunday , Friday , Saturday   
Starts on: 2-5-2014
Ends:   After 4 occurrencesOn
Summary:    Every 2 weeks on Sunday, Friday, Saturday, 4 times

来源:https://stackoverflow.com/questions/23430207/repeat-event-calendar-by-weekdays-like-google-calendar-in-php

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!