根据日期回复下一个即将到来的_start

时间:2016-10-02 18:21:01

标签: php mysql

好;我要做的是使用$currentdate变量从表usr_timetable_entrys中选择下一个即将_start = username '$username'列p>

$currentdate = time();

我使用以下查询从图片中的表中获取所有即将到来的时间。

$sql = "SELECT * FROM `usr_timetable_entrys` WHERE `username` = '$username'";

下面是表格结构的图片;

enter image description here

期望的结果:

因此,例如,如果星期几是星期二,则使用上表中的值,下一个即将到来的_start将是wednesday_start,这将是05:00:00

另一个例子是,如果星期几是星期六,下一个即将到来的_startmonday_start 00:00:00。{/ p>

如何使用PHP每周选择下一个即将发布的_start

我知道这个问题非常混乱,我期待投票,我试图解释我尽可能最好的问题所以我真的很抱歉如果你不理解。谢谢你的任何帮助和解答。

1 个答案:

答案 0 :(得分:1)

您可以使用选择案例

 select 
   case 
      DAYOFWEEK('$currentdate') 
        when 1 then sunday_start
        when 2 then monday_start
         .....
        when 7 then saturday_start
  end
from `usr_timetable_entrys` 
WHERE `username` = '$username'";



$sql = "SELECT  
          `username`, 
           CASE 
              DAYOFWEEK('$currentdate') 
                WHEN 1 THEN sunday_start
                WHEN 2 THEN monday_start
                WHEN 3 THEN tuesday_start
                WHEN 4 THEN wednesday_start
                WHEN 5 THEN thursday_start
                WHEN 6 THEN friday_start                
                WHEN 7 THEN saturday_start
          END as day_start
      FROM `usr_timetable_entrys` WHERE `username` = '$username'";