2014-11-10 2 views
0

이 질문에 대한 간단한 해결책을 살펴 보았지만 찾을 수없는 것 같습니다. 내가 가지고있는 것은 타임 스탬프가 찍힌 날짜로 가득 찬 데이터베이스이며, 모든 해를 철수시키고 나열 할 수 있기를 원합니다. 예를 들어 내가 '날짜'에서 다음과 같은 데이터가 있습니다MYSQL에서 배열 만들기 datetime of years of

2014-11-19 19:58:07 
2015-10-14 18:58:05 
2014-09-05 04:28:02 
2014-10-01 05:58:00 
2017-01-20 18:48:00 
2014-03-20 07:58:00 

을 만이 (데이터베이스, 아니 반복을 가진 경우) 다음 인쇄 싶습니다

2014 
2015 
2017 

어떤 도움을 크게 감상 할 수있다 감사!

편집 : 죄송합니다 나는

$query="SELECT DISTINCT YEAR(date) FROM database;"; 
$result=mysql_query($query); 
$numd=mysql_numrows($result); 
echo $num; 

"이이 꽤 새로운 해요 그리고 인쇄 :

3 

하지만 인쇄에 싶습니다

2014 
2015 
2017 

감사합니다

답변

-1

를 ("Y", $ 시간) '이 경우

$myDate = '2014-11-19 19:58:07'; 
$time = strtotime($myDate); 
$year = date("Y", $time); 

, $ 년 2014 년에 동일 해집니다

편집 :은 그들이 당신이 새로운 배열 만 광고를 만들 수 있습니다 반복하지 않고도 년 저장하려면 해당 배열에 d 년이 이미 존재하지 않는 경우

if(!in_array($year, $array)) 
    #add the year to the array 
1

당신은 t를 사용할 수 있습니다. 그는 YEAR 기능을한다 : mysql '날짜를 사용하여 연중 얻을 당신이 PHP에서 그것을하고 싶은 경우, 다음', strtotime으로 '등을 사용하여 날짜 문자열을 변환 할 수 있습니다

SELECT DISTINCT YEAR(date) FROM table_name; 

while($row = mysql_fetch_row($result)) { 
    echo $row[0]; 
} 
+0

죄송합니다. 위와 같이 '선택'하겠습니까? 그렇다면 매년 개별적으로 어떻게 인쇄합니까? – Munnaz

0
SELECT YEAR(date) as myYear 
FROM table 
GROUP BY myYear