从文章中获取多年

时间:2013-09-01 10:32:25

标签: php mysql database timeline

表格文章

id - content - ins_dt
1 - lorem ipsum1 - 2013-01-09
2 - lorem ipsum2 - 2013-02-08
3 - lorem ipsum3 - 2012-11-03
4 - lorem ipsum4 - 2011-01-20
5 - lorem ipsum5 - 2011-12-13
6 - lorem ipsum6 - 2010-05-12

使用查询

SELECT ins_dt FROM articles ORDER BY ins_dt DESC;

我明白了:(http://sqlfiddle.com/#!2/fc9ea6/5

"2013 2013 2012 2011 2011 2010" 

但我需要这个:

"2013 2012 2011 2010"

4 个答案:

答案 0 :(得分:2)

无论你将它们存储在数组中的值是什么

然后$finaldata = array_unique($yourarray);

答案 1 :(得分:1)

您可以使用简单的SQL查询

SELECT GROUP_CONCAT(DISTINCT YEAR(ins_dt)) AS `year` 
FROM articles 
ORDER BY ins_dt DESC;

以下是示例和演示:http://sqlfiddle.com/#!2/fc9ea6/3

答案 2 :(得分:0)

尝试排序http://php.net/manual/en/function.sort.php

sort($myarr['ins_dt'], SORT_NUMERIC); 
 print_r($myarr);
一点点的搜索努力可以让你获得像这样的伟大链接 http://php.net/manual/en/array.sorting.php

答案 3 :(得分:0)

当您拥有数组中的数据时,您可以在代码中轻松使用Array unique,这将为您提供一个只包含唯一值的数组。

或者,您可以将SQL更改为仅从表中提取所需的数据,如下所示:

select distinct year from (select date_format(ins_dt, '%Y') from tableArticles) myData)