首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从今天开始记录下来?

问如何从今天开始记录下来?
EN

Stack Overflow用户
提问于 2015-01-28 07:20:55
回答 4查看 1.3K关注 0票数 1

我有一张有下列字段的桌子。event_id,month,day,year,event,place。我想要的是根据日期显示即将到来的记录。这是我的代码,它给了我所有的数据。

代码语言:javascript
复制
$news = mysql_query("SELECT *  FROM tblupcomingevents limit 5") or die(mysql_error());
while($row = mysql_fetch_array($news))                  
<?php echo $row ["month"] ?>
<?php echo $row ["day"] ?>
<?php echo $row ["year"] ?>
<?php echo $row ["event"] ?>
<?php echo $row ["place"] ?>
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2015-01-28 07:27:13

首先,您应该将日期存储在一列an中,然后根据需要使用date函数动态使用它们,在这种情况下,您可以使用下面的查询

代码语言:javascript
复制
$news = mysql_query("SELECT *  FROM tblupcomingevents WHERE date >= DATE(NOW()) limit 5") or die(mysql_error());

在当前情况下,您也可以实现同样的目标,但是您必须从数据库中获得结果,然后循环并检查将来的情况,并将它们存储在最后的数组中,然后再使用该数组。

所以它需要负载,而不是优化的方法。

票数 1
EN

Stack Overflow用户

发布于 2015-01-28 07:37:30

最好的解决方案是以date()格式将日期存储在数据库中,然后使用以下查询

代码语言:javascript
复制
 SELECT *  FROM tblupcomingevents WHERE event_date >= CURRENT_DATE() order by event__date limit 5;
票数 2
EN

Stack Overflow用户

发布于 2015-01-28 07:30:02

正确的解决方案可能是更改数据库以实际保存事件的date,然后对其进行查询:

代码语言:javascript
复制
SELECT * FROM tblupcomingevents WHERE event_date >= CURRENT_DATE() LIMIT 5

如果这是不可能的,您可以使用str_to_date函数构造类似的行为:

代码语言:javascript
复制
SELECT * 
FROM   tblupcomingevents 
WHERE  STR_TO_DATE(CONCAT(`year`, `month`, `day`), '%Y%m%d') >=
       CURRENT_DATE()
LIMIT  5
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28186723

复制
相关文章

相似问题

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