2013-07-17 3 views
2

배열에 포함 된 ID가있는 SQL 테이블을 반환하는 방법이 있습니까?PHP로 특정 SQL 행 승격

그래서 배열 ($ UserFavs)에는 45,65,32의 값이 들어 있으며 테이블에서 모든 행을 선택할 때 id라는 DB의 열과 관련됩니다. $ UserFavs 배열의 모든 행을 먼저 표시됩니다.

"SELECT * FROM keeper order by id WHERE `id` IN (' . implode(',', array_map('intval', $UserFavs)) . ')';" 

을하지만이 작동하지 않았다 :

나는 다음과 같은 있지만 작동하지 않았다 시도했다.

모든 행이 반환되지만 배열의 행이 먼저 표시되는 키입니다. 이 프리젠 테이션 세부 그대로

감사합니다, B.

답변

0

당신은 다음과 같이 사용할 수 있습니다 :

"SELECT * FROM keeper ORDER by CASE WHEN `id` IN (...) THEN 0 ELSE 1 END" 
+0

당신의 일을 사랑하십시오! 고마워 soooo 많이 @ 앤드류스 – user1250812

+0

다행 :) –

1

"표시 순서는"당신이 쿼리를 사용해야하는 것이 아닙니다.

대신 개별 레코드를 개별적으로 가져 와서 항목을 "표시 순서"에 저장할 배열에 추가 할 수 있습니다. 그런 다음 NOT IN을 사용하여 데이터베이스의 다른 레코드를 필터링하고이 행을 표시 순서 배열에 추가하십시오.

배열은 기본적으로 FIFO이므로 레코드를 표시하면 배열에 추가 된 순서대로 반복됩니다.

+0

감사 @Burhan을 - 당신은 예를해야합니까? – user1250812