2011-04-07 4 views
1

나는 앞으로의 친구의 생일을 보여주기 위해 자신의 응용 프로그램을 만들고 있습니다. 나는 페이스 북에서이 날짜를 얻을 수있는 허가를 얻었고, 나는 내 생년월일을 가진 모든 친구들을 내 사이트에 표시하고있다. 내 유일한 질문은 ie를 표시하는 방법입니다. 첫 10 다가오는 생일? 나는 $ facebook-> api ('/ me/friends? limit = 10)를 사용하고 있지만 그것들을 어떻게 정렬 할 지 모릅니다. 누구 한테 도움이 되니? 어떤 코드를 정렬해야합니까? 일부 페이 스북 API 코드 또는 PHP 코드. 만약 PHP를 누른 다음 어쩌면 당신이 할 수있는 몇 가지 도움말이 있습니다. 쉐어! 당신이 언급 한 것처럼생일 날짜별로 정렬 Facebook API의 내 친구 목록?

+0

fql의 문제로 주문 확인 : [여기를 클릭하십시오] (http://forum.developers.facebook.net/viewtopic.php?id=25354) –

+0

은 이전 API에 해당하지 않습니다. ? 게시물은 4 년 전에 어때 그래서 어쩌면 그들의 신뢰할 수 없습니다. 그러나 나는 약간의 생각을 가지고 있고, 내가 당신에게 알리기 위해 내가 여기에서 공유 할 것이 있다면. 덕분에 – Kamil

답변

2

이 데이터를 사용할 수 있습니다 나 혼자서. 아주 간단한 해결책은 ... 아마 너무 단순하지만 완벽하게 작동합니다. 그게 내 코드 야. $ miesiace_slownie이의 현지 언어 유형으로 페이스 북에서 달 데이터를 변환 배열입니다

$fql_n = "SELECT uid, name, birthday_date FROM user WHERE uid IN (SELECT uid2 FROM friend WHERE uid1 = me()) AND strlen(birthday_date) != 0 ORDER BY birthday_date"; 

    $parame = array(
      'method'  => 'fql.query', 
      'query'  => $fql_n, 
      'callback' => '' 
    ); 
    $fqlResultt = $facebook->api($parame); 
    $ile_dat = 0; 

    $miesiace_slownie = array("01" => "jan", "02" => "feb", "03" => "mar", "04" => "apr", "05" => "may", "06" => "jun", "07" => "jul", "08" => "aug", "09" => "sep", "10" => "oct", "11" => "nov", "12" => "dec"); 
    if($fqlResultt){ 
     foreach($fqlResultt as $ress){ 
      $data = date("m/d"); 
      list($fb_m,$fb_d) = explode("/", $ress['birthday_date']); 
      $fb_date = $fb_m."/".$fb_d; 
      if($data<=$fb_date) { ?> 
       <div class="fb_birthday_fr"> 
        <span class="fb_brt_day"><?php echo $fb_d . ' ' . $miesiace_slownie[$fb_m]; ?></span> 
        <span class="fb_brt_fr"><?php echo $ress['name']; ?></span> 
       </div> 
       <?php 
       $ile_dat++; 
       if($ile_dat == 6) break; 
      } 


     } 
    } 

) 어쩌면 미래에 사람을 도움이됩니다.

많은 응원^많은 도움을 주신 Sharma에게 감사드립니다. 당신을위한 맥주;)

+1

+1 나 .. 그때 :) –

+0

@Love Sharma 나는 stockoverflow에서 새로운입니다. 이게 속도 야? 만약 그렇다면 +1을주고;) – Kamil

+0

남겨주세요 ... :) 아무런 문제도 없습니다 ... 할 수있는 충분한 포인트가 없습니다 ... : D –

3

작동하도록이 시도 : 이것은 현명한 생일에 친구를 정렬합니다

$friends = json_decode($facebook->api('/me/friends?fields=birthday')); 
$friends_birth = array(); 
foreach($friends->data as $value){ 
    if(isset($value->birthday->)){ 
    $dt = split("/",$value->birthday); 
    $friends_birth[$value->id] = mktime(0,0,0,$dt[0],$dt[1], date("y")); 
    } 
} 
asort($friends_birth); 
echo print_r($friends_birth); 

... 지금은 내가 문제를 해결했습니다 더 논리

+0

나는 당신의 코드를 시험해 본다. 하지만 그것은 "json_decode()는 매개 변수 1이 문자열이 될 것을 기대합니다"라는 의미의 오류를 표시합니다 (실제로는 알지 못합니다). 내 $ facebook-> api (/ me/friends)에서 json_decode()를 삭제하고 "friends? limi = 5 & fields = birthday"에 추가하면 5 명의 임의의 사람들이 표시됩니다. 나는 그들의 생일이 다가오는 것이 아니기 때문에 "무작위"라고 생각한다. 어디에서 오류가 발생 했습니까? 많은 도움을 주셔서 감사합니다.하지만 더 필요합니다;) 귀하의 답변을 기다리고 있습니다. 건배 "love sharma" – Kamil

+0

json_decode를 제거한 후 얻는 결과는 ... 게시 할 수 있습니까? 고맙습니다. –

+0

코드가 업데이트되었습니다. 다시 시도해주세요 ... :) 그리고 어떤 결과물도 게시 해주세요. .. –

관련 문제