2012-01-16 2 views
1

내가 다음 코드를 사용하여이 작업을 수행 할 수 있습니다 -검색 할 모든 태그가 FQL을 사용하는 사진에있는 사진을 찾는 가장 좋은 방법은 무엇입니까? 나는 이명이 사진에있는 경우 사진을 검색 할 수 FQL을 사용하려면

은 $ tag_list 변수가 사용자 ID의 쉼표로 구분 된 목록입니다
$fql_query_url = 'https://graph.facebook.com/' . '/fql?q=SELECT+src_big+FROM+photo+WHERE+pid+IN(SELECT+pid+FROM+photo_tag+WHERE+subject+IN('.$tag_list.'))' . '&access_token=' . $params['access_token']; 

.

사진에 태그가 지정된 사용자의 사진을 반환합니다.

그러나 내가 사진에서 사람의 두 사람이 (태그가 지정된) 사진을 찾고 싶다면 어떻게해야합니까? 이것을 할 수있는 좋은 방법이 있습니까? 사진에서 많은 사람들을 찾고 싶다면? 결과를 반복하고 결과가 반환 된 후 모든 사용자가 사진에 있는지 확인하는 것이 가장 좋습니다.

다른 사람이이 문제를 해결했습니다. 많은 감사

답변

1
fql?q= 
SELECT src_big 
    FROM photo 
WHERE pid IN (SELECT pid FROM photo_tag WHERE subject ='{uid1}') 
    AND pid IN (SELECT pid FROM photo_tag WHERE subject ='{uid2}') 
+0

감사합니다.하지만 얼마나 많은 사용자 ID를 찾고 싶습니까? 내 코드는 PHP에있게 될 것이므로 단순히 FID 쿼리를 찾아서 생성하는 사용자 ID를 반복하여 "AND pid IN (SELECT pid ...") 행을 찾는 함수를 만들어야한다. IN 대신에 모든 IN (1,2,3)이있는 모든 결과가 반환되는 IN (1,2,3) 중 하나를 찾는 IN 대신 하나의 쿼리를 사용하는보다 우아한 방법입니다. 대답. – undefined

+0

계속해서 AND pid IN 행을 계속 추가하십시오. 그러나 어떤 시점에서는 길이 문제로 실행됩니다. 그러나 원래 질문에는 특히 2 명의 사용자가 사용되었습니다. 올바르게 대답했습니다. 적어도 저에게 신용을주고 대답을 받아들입니다. – DMCS

+0

고마워요, 원래의 질문은 또한 사람들의 큰 그룹 (2 개 이상)을 찾는 방법의 문제점을 제기했습니다. 명확한 설명을 주셔서 감사합니다. 얼마나 효과적인지 실험 해보고 시도해 보겠습니다. 다른 해결책들입니다. 답을 다시 한번 고맙습니다. – undefined

관련 문제