首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >PHP通过调用mysql来纠正日期时间显示

PHP通过调用mysql来纠正日期时间显示
EN

Stack Overflow用户
提问于 2022-02-02 13:48:28
回答 1查看 81关注 0票数 0

我刚开始解决一个难题。让我解释一下,我的桌子看起来是这样的:

代码语言:javascript
复制
 - ID: 0 | USERNAME: SOMETHING1 | DAY: 1 | START: 20:00 | END: 21:00 | STATUS: 0 |
 - ID: 1 | USERNAME: SOMETHING2 | DAY: 3 | START: 18:00 | END: 20:00 | STATUS: 0 |
 - ID: 2 | USERNAME: SOMETHING3 | DAY: 0 | START: 19:00 | END: 21:00 | STATUS: 0 |
 - ID: 3 | USERNAME: SOMETHING4 | DAY: 1 | START: 21:00 | END: 23:00 | STATUS: 0 |

数据库被创建到广播网站。网站主页显示:当前试镜(现在正在广播中播放)和下一次试镜:下面是我要展示的内容。缩短(姓名,开始时间,结束时间)我想显示试镜的“今天”,但最近的时间。如果试镜开始时间高于当前时间,请跳到下一次。如果没有任何“今天”的试镜,跳过并显示第二天的试镜和所有的循环7天。

用于使用:$currentDay=date("w"); $currentTime=date("H:i");和数组读取值,这些数组将将天数更改为文本。

EN

回答 1

Stack Overflow用户

发布于 2022-02-02 15:38:53

由于您有当前日期和时间的值,所以可以尝试执行以下mysql查询

代码语言:javascript
复制
$currentDay = date("w");
$currentDateTime = date('Y-m-d H:i');

$sql = "SELECT * FROM `puzzle` WHERE `DAY` >= ".$currentDay." AND STATUS = 0 
order by `DAY` ASC, ABS(TIMESTAMP(CURRENT_DATE(),`START`) - '".$currentDateTime."') ASC LIMIT 1";

// Now Execute the $sql as with you framework , CMS , custom PHP whatever you are using .
// Also change the $sql query also as per your requirement , your question wasn't clear enough to understand . 

例如,,我尝试过这个查询,它对我的测试用例很好。

代码语言:javascript
复制
SELECT * FROM `puzzle` WHERE `DAY` >= 3 AND STATUS = 0 order by `DAY` ASC, ABS(TIMESTAMP(CURRENT_DATE(),`START`) - '2022-02-02 10:10') ASC LIMIT 1
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70956781

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档