我在MySQL DB中有一个表,它存储了餐厅在每个工作日和时间段提供的菜单。
表结构如下:
i_type i_name i_cost i_day i_start i_end
--------------------------------------------------------
Breakfast Prantha 20 0 07:00 11:00
Lunch Special 80 0 11:01 15:00
Dinner Special 100 0 15:01 21:00
其中0 =星期天等等。
例如早餐(07:00至11:00),午餐(11:01至15:00)
现在,每周的菜单显示完全正常。但我想按照以下方法显示菜单:
要获得星期几,我正在使用以下方法
$jd=cal_to_jd(CAL_GREGORIAN,date("m"),date("d"),date("Y"));
$dw = (jddayofweek($jd,0));
目前我正在处理时间段如下:
$datr = (int)date('Hi');
$timew= str_replace(':', '', $row['i_start']); $timec= str_replace(':', '',
$row['i_end']);
if (($datr < $timew) || ($datr > $timec)) { ?>
<button class="btn btn-default" style="background:#ED3E49;border-color:
#E31522;color:#fff;padding:5px;border-radius:5px" disabled="disabled">
Ordering Closed</button> } ?>
但上述方法并不是让我在早餐时间点午餐等等。
答案 0 :(得分:1)
试试这个:
$dayValueFromDB = $row['i_day'];
$jd=cal_to_jd(CAL_GREGORIAN,date("m"),date("d"),date("Y"));
$currentDayValue = (jddayofweek($jd,0));
//for just today and tomorrow the last condition in if is for the senario if today in saturday and tomorrow is sunday
if($dayValueFromDB == $currentDayValue || $dayValueFromDB == ($currentDayValue+1) || ($dayValueFromDB == 0 && $currentDayValue==6))
if ($datr > $timec){
//your code
}
}
else{
//for all other days display no order will be taken or whatever you like
}