首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >检索数据Mysql / Php where date

问检索数据Mysql / Php where date
EN

Stack Overflow用户
提问于 2010-07-26 03:53:25
回答 3查看 1.4K关注 0票数 0

嘿,我想知道如何使用php从我的数据库中检索数据来获取今天的热门歌曲。

现在我只是用来获取最好的歌曲

代码语言:javascript
复制
$result = mysql_query("SELECT tag, COUNT(*) AS the_tags FROM tags GROUP BY tag ORDER BY the_tags DESC LIMIT 16");

我还将日期存储在标记表中,格式如下

07-25-2010

所以月-日-年

如何才能将结果限制在日期为今天的标签上?

谢谢:)

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-07-26 03:59:09

另一种方法是:

代码语言:javascript
复制
"SELECT tag, COUNT(*) AS the_tags FROM tags WHERE `date` = '" . date('m-d-Y') . "' GROUP BY tag ORDER BY the_tags DESC LIMIT 16"

但我更喜欢使用MySQL的日期(所以我会说参见artefacto的帖子)

票数 2
EN

Stack Overflow用户

发布于 2010-07-26 03:57:17

代码语言:javascript
复制
...FROM tags WHERE date_field = DATE_FORMAT(CURDATE(), '%m-%d-%Y')...
票数 1
EN

Stack Overflow用户

发布于 2010-07-26 04:07:12

我也将日期存储在标记表中,格式为07-25-2010

YYYY-MM-DD的唯一解决方案是将这种荒谬的格式更改为-YYYY-MM-DD,并将其存储在DATE类型的适当字段中。你越早改变它,你将来就不会那么头疼了。你就是别无选择。这是数据库架构的基础知识。在很多情况下,你自己的格式就是不能工作。对于表中的每一行,数据库每次都必须转换它。这是杀死数据库的最有效方法。

更改后,您的代码将变为

代码语言:javascript
复制
$sql    = "SELECT tag, COUNT(*) AS the_tags FROM tags WHERE tag_date = curdate() 
                  GROUP BY tag ORDER BY the_tags DESC LIMIT 16"
$result = mysql_query($sql) or trigger_error(mysql_error().$sql);
票数 -2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3330771

复制
相关文章

相似问题

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