嘿,我想知道如何使用php从我的数据库中检索数据来获取今天的热门歌曲。
现在我只是用来获取最好的歌曲
$result = mysql_query("SELECT tag, COUNT(*) AS the_tags FROM tags GROUP BY tag ORDER BY the_tags DESC LIMIT 16");我还将日期存储在标记表中,格式如下
07-25-2010
所以月-日-年
如何才能将结果限制在日期为今天的标签上?
谢谢:)
发布于 2010-07-26 03:59:09
另一种方法是:
"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的帖子)
发布于 2010-07-26 03:57:17
...FROM tags WHERE date_field = DATE_FORMAT(CURDATE(), '%m-%d-%Y')...发布于 2010-07-26 04:07:12
我也将日期存储在标记表中,格式为07-25-2010
YYYY-MM-DD的唯一解决方案是将这种荒谬的格式更改为-YYYY-MM-DD,并将其存储在DATE类型的适当字段中。你越早改变它,你将来就不会那么头疼了。你就是别无选择。这是数据库架构的基础知识。在很多情况下,你自己的格式就是不能工作。对于表中的每一行,数据库每次都必须转换它。这是杀死数据库的最有效方法。
更改后,您的代码将变为
$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);https://stackoverflow.com/questions/3330771
复制相似问题