档案生成器PHP
问题描述:
在我开始id之前,喜欢说ive将此问题作为更多讨论而不是问题问题发布。档案生成器PHP
在我的数据库我有新闻发布可以说3列(标题,标题,日期)。其他ID和标题是自我解释日期存储在mktime()值中,换句话说,自1970年1月1日以来经过的秒数。
现在我想要做的是构建存档链接,
- 2009年7月
- 2009年6月2009年 月
- 二月2009年
- 2008年12月
请注意没有帖子的月份不显示。
现在,作为一个最初的想法我想
- 开始与当月
- 的最后一天,并获得当月
- 第一天的价值做一个MySQL COUNT对于日期> = First_Day_Seconds和日期的帖子,Query/mysql_num_rows < = Last_Day_Seconds
- 显示或放置数组中的值
- 做anoth呃查询以检查是否有更多的值被发现WHERE日期< First_Day_Seconds(突破如果没有找到行)
现在,以上只是我的头顶的东西。但如果你有任何想法来加快这个过程,请分享。
会说提前,日期必须在mktime格式
答
我会使用一个数据库,“本地”时间格式建议,但它与UNIX时间戳为好。
你可以简单地做:
SELECT DISTINCT FROM_UNIXTIME(date, '%M %Y') FROM posts;
任选与WHERE
条款限制日期过去或将来的日期。可能是一个ORDER
条款投入良好的措施。这应该是几乎所有需要的,让数据库尽可能地做更多的工作。
如果您需要更多的格式选项,选择"%Y-%m"
代替日期和PHP格式化:
date($myCustomFormat, strtotime("$date-01"));
+0
很好完成...我只是跑了那个查询和哇! – 2009-07-27 06:33:31
答
您可以使用此查询来获取年
"SELECT *,content_id,COUNT(content_id) AS itemCount FROM content_mast GROUP BY DATE_FORMAT(date_upload,'%Y') DESC";
现在使用可以使用此查询获取当年的月份
$tday = date("Y", $datetime);
$s1="select * from content_mast where DATE_FORMAT(date_upload,'%Y')=$tday";
两个人都很喜欢这个。 :D – 2009-07-27 10:05:10