2010-07-25 9 views
0

입니다. 안녕하세요. PHP를 사용하여 데이터베이스에서 데이터를 검색하는 방법을 궁금합니다.데이터 가져 오기 Mysql/Php 여기서 날짜는

은 지금은 단지 형식

2010년 7월 25일

에,

$result = mysql_query("SELECT tag, COUNT(*) AS the_tags FROM tags GROUP BY tag ORDER BY the_tags DESC LIMIT 16"); 

나는 또한 태그 테이블 aswell에 날짜를 저장하고를 사용하여 상단 곡을 받고 있어요 so Month - Day - Year

오늘의 날짜로 결과를 태그로 제한 할 수 있습니까?

감사

답변

2

또 다른 방법 :) 그것을 할 :

"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은 날짜를 사용하는 것을 선호

1
...FROM tags WHERE date_field = DATE_FORMAT(CURDATE(), '%m-%d-%Y')... 
+0

그것이 '% M- % D- % Y'를해서는 안 될 변경 한 후
? 그렇지 않으면 이것이 최선의 방법입니다. – User123342234

+0

@Josh 네, 고마워요. – Artefacto

-2

I를 (그래서 나는 artefacto의 게시물을 참조 말할 것입니다) 또한 태그 테이블에 날짜를 07-25-2010 형식으로 저장합니다.

유일한 해결책은이 우스꽝스러운 형식을 YYYY-MM-DD로 변경하고 DATE 유형의 올바른 입력란에 저장하는 것입니다. 조만간 당신이 그것을 바꿀 것이고, 당신이 앞으로 얻게되는 두통이 줄어들 것입니다. 너는 다른 길은 없어. 데이터베이스 아키텍처의 ABC입니다. 자신의 형식이 제대로 작동하지 않는 경우가 수없이 많습니다. 그리고 데이터베이스는 테이블의 모든 행에 대해 매번 변환해야합니다. 이것은 데이터베이스를 죽이는 가장 효율적인 방법입니다. 일 - - 올해 코드는 그가 개월로 날짜를 저장했다 말했듯이

$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); 
+1

그건 해결할 수있는 유일한 방법이 아닙니다. 나는'MM-DD-YYY'를 저장하는 것은 끔찍한 생각이라고 동의합니다. –

+0

오 예. 다리에 자신을 쏠 수있는 방법은 수천 가지가 있습니다. 당연하지. –

+0

다리에 자신을 쏘는 것이 요구된다면, 옵션 (구급차, 앉은 자세, 선반에없는 구급차)을 갖는 것이 좋습니다. P – Wrikken