2012-08-30 47 views
-1
if($user_gender == "male") 
{ 
$fql_query_result = file_get_contents("https://graph.facebook.com/fql?q=SELECT+uid%2C+name+FROM+user+where+uid+IN+(SELECT%20uid2%20FROM%20friend%20WHERE%20uid1%20=%20me())%20and%20sex='female'ORDER%20BY%20rand%20()%20LIMIT%201&access_token=".$access_token); 
} 
else 
{ 
$fql_query_result = file_get_contents("https://graph.facebook.com/fql?q=SELECT+uid%2C+name+FROM+user+where+uid+IN+(SELECT%20uid2%20FROM%20friend%20WHERE%20uid1%20=%20me())%20and%20sex='male'ORDER%20BY%20rand%20()%20LIMIT%201&access_token=".$access_token); 
} 

在圖形API瀏覽器畫面的顯示顯示隨機性別(性別)朋友的個人資料使用FQL

{ 
    "data": [ 
    { 
     "uid": 100001242402868, 
     "name": "Don Omer" 
    } 
    ] 
} 

如何從上面的數據中提取UID,這樣我們可以顯示他/她的個人資料圖片

$friend_pic = imagecreatefromjpeg("http://graph.facebook.com/".$fql_query_result['uid']."/picture?type=normal"); 

我正在嘗試創建一個名爲「Who Will Marry Me」的應用程序。

在此先感謝

+0

複製/繼續[顯示男性用戶(異性)女性朋友的個人資料圖片]](http://facebook.stackoverflow.com/questions/12166598/display-profile-pic-of-female-friend-for -male-user-opposite-sex) – CBroe

+0

我刪除了我以前的問題... –

+0

你的問題是什麼?你爲什麼不使用SDK? – Igy

回答

0

你可以做到這一切在一個查詢(和一個API調用)。試試這個:

$query = 'SELECT uid, name, sex, pic FROM user WHERE 
      uid IN (SELECT uid2 FROM friend WHERE uid1 = me()) 
      AND NOT (sex IN (SELECT sex FROM user WHERE uid = me())) 
      ORDER BY rand() LIMIT 1'; 

的快速和骯髒的方法是做到:

$url = "https://graph.facebook.com/fql?q=" . urlencode($query) . 
     "&access_token=" . $access_token; 
$spouse = json_decode(file_get_contents ($url)); 
printf('<p>You should marry %s. <img src="%s" /></p>', 
     $spouse->data[0]->name, 
     $spouse->data[0]->pic 
     ); 

但你真的應該使用PHP SDK,因爲它是更強大。

相關問題