2012-12-08 2 views
1

나는 데이터베이스에서 데이터를 검색하는 PHP를 사용하는 검색 도구를 연구 중이다. 그것은 작동하지만, 지금은 최신 날짜로 결과를 정렬하고 싶습니다. created은 데이터베이스 시간 소인을 저장하는 열의 이름입니다.날짜별로 정렬

$res = mysql_query("SELECT * FROM book WHERE MATCH 
(title,cat_number,isbn,issn,created,subject) AGAINST ('$q' $mode) LIMIT 50", $db); 

$list = array(); 
while($row = mysql_fetch_assoc($res)) 
{ 
    $list[] = $row; 
} 
mysql_free_result($res); 
+1

** 머리 글자! ** PHP는 * 향후 버전에서 * mysql_ 계열의 기능을 비추천 * 제거합니다. 이 기회를 이용하여 [PDO] (http://php.net/book.pdo) 또는 [mysqli] (http://php.net/book.mysqli)로 전환하십시오. – Charles

+0

타임 스탬프 제한 확인 : http://dev.mysql.com/doc/refman/5.1/en/datetime.html – alditis

답변

2

는 SQL 문에 ORDER BY created DESC 추가 : 여기

는 내가 가지고있는 코드입니다.

+0

여전히 작동하지 않았습니다. 웬일인지 그것은 창조에 의해 그것을 분류하고 있지 않다. 다른 아이디어? – user1887387

1

당신은 다음과 같이 당신의 쿼리를 업데이트 할 수 있습니다 : 다른 주에

$res = mysql_query("SELECT * FROM book WHERE MATCH (title,cat_number,isbn,issn,created,subject) AGAINST ('$q' $mode) ORDER BY created DESC LIMIT 50", $db); 

을, 당신은 MySQL의 명령은 이제 사용되지 않습니다으로, MySQL의 명령을 통해 mysqli 또는 PDO를 사용해야합니다.

+0

여전히 작동하지 않았습니다. 웬일인지 그것은 창조에 의해 그것을 분류하고 있지 않다. 다른 아이디어? – user1887387

+0

부울 모드로 실행 중이십니까? 제대로 정렬 된이 바이올린을 확인하십시오. http://sqlfiddle.com/#!2/53847/1 또한 생성 된 열은 어떤 데이터 유형입니까? – zongweil

+0

예, 부울 모드로 실행 중입니다. 작성된 컬럼의 데이터 유형은 데이터베이스에 의해 지정된 시간 소인입니다. – user1887387

관련 문제