首先,我在论坛上搜索了我的问题的答案。我正在创建一个PHP& amp;的每周时间表。 MySQL和问题是,当实际的日子是星期日时,我无法弄清楚如何设置case语句,我需要将星期一设置为明天。 这是我简单的MySQL表周
Fields: dayid(int,primary,auto-increment),day(varchar(25))
Data: (1,'Monday'),(2,'Tuesday'),(3,'Wednesday'),(4,'Thursday'),
(5,'Friday'),(6,'Saturday'),(7,'Sunday');
这是我的php代码:
$today = date("N");
$query = "SELECT *,case when dayid = '$today' THEN 'Today'
when dayid = '$today' + 1 THEN 'Tomorrow'
when dayid = '$today' - 1 THEN 'Yesterday'
ELSE day END days FROM week ";
$results = mysqli_query($link, $query);
while ($r = mysqli_fetch_array($results)) {
echo '<p>'.$r['days'].'</p>'; }
就像我之前写的那样,我无法弄清楚如何设置它,所以当$ today = 7(星期日)时,星期一会说明天而另一种方式,所以当星期一它说昨天而不是星期天。希望有人可以帮我解决这个问题。
提前谢谢!
答案 0 :(得分:1)
你需要在一周结束时使用IF
回合:
CASE dayid
WHEN $today THEN Today
WHEN IF($today = 7, 1, $today + 1) THEN 'Tomorrow'
WHEN IF($today = 1, 7, $today - 1) THEN 'Yesterday'
ELSE day
END days