如何使用MySQL创建今天,明天和昨天

时间:2015-04-29 13:06:58

标签: php mysql mysqli

首先,我在论坛上搜索了我的问题的答案。我正在创建一个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(星期日)时,星期一会说明天而另一种方式,所以当星期一它说昨天而不是星期天。希望有人可以帮我解决这个问题。

提前谢谢!

1 个答案:

答案 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