每月将日期添加到第一条记录

时间:2013-12-02 09:55:40

标签: php mysql sql

我有留言簿脚本,希望在每个月的第一篇文章中添加月份和年份,例如Instagram个人资料demo

所以我的问题是如何从db时间戳中获取月份和年份并添加到每月的第一条记录?

db结构:

post
--id
--msg
--dt (timestamp)

我知道(对不起)这是一个“你可以为我做的工作吗”,但我还没有找到我要开始的线索。

到目前为止尝试过:

SELECT DISTINCT MONTH(dt), YEAR(dt) AS month FROM post GROUP BY MONTH(dt)

...

SELECT DISTINCT dt FROM post ORDER BY dt DESC

2 个答案:

答案 0 :(得分:0)

  1. 选择dt字段按降序排列的所需图像(全部或可能只是其中的一部分,如果有很多)。
  2. 浏览选择结果并打印出图片。
  3. 当n + 1时。图片的日期与前一个月(n。图片)有不同的月份,然后显示日期。

答案 1 :(得分:0)

也许这段代码可能对您有所帮助。

仅在新月打印月份和年份。

要格式化时间戳,您可以使用date("format", timestamp)功能。

请查看here了解详情。

 <?php
        $currentMonth = "";
        //Your timestamps, here saved in an array and ordered!!
        $array_with_timestamps...
        //Execute for each value in the array
        foreach($array_with_timestamps as $timstamp) {
            //If the month of this timestamp is unequal to the value in $currentMonth
            //then echo "Monthname Year" of this timestamp
            if ($currentMonth != date('F', $timestamp)) { 
                echo date('F', $timestamp)." ".date('Y', $timestamp);
                //Set this month now as the currentMonth
                $currentMonth = date('F', $timestamp);
            }
            //Print picture
        }
  ?>