Bu sorunu çözmek için en iyi yol olup olmadığını merak ediyorum. Ben (facebook dan - Bir çok dizi döndürür), bir Facebook kullanıcılarının arkadaş verileri birleştirme am (MySQL) olarak bu listedeki kullanıcıların oy.
Bu benim bu başarılı nasıl. Ben junior geliştirici yaşıyorum ve mümkün olduğunca optimize kodumu yapmaya yardım arıyor.
public function getFriendVotes(){
global $facebook;
// Get The users friends that use this app from facebook
$friends = $facebook->api_client->fql_query(
"SELECT uid, first_name, last_name
FROM user
WHERE uid IN (SELECT uid2 FROM friend WHERE uid1=$this->user)"
);
// Create an array of just the ids
foreach($friends as $friend){
$userids[] = $friend['uid'];
}
// Create a string of these ids
$idstring = implode(",", $userids);
// Get the votes from only the users in that list that voted
$result = $this->db->query(
"SELECT vote, userid FROM user_votes WHERE userid IN ($idstring)"
);
// Create a new result set (multi array). Include the data from the first
// Facebook query, but include only those who voted and append their votes
// to the data
$row = $result->fetch_assoc();
foreach($friends as $friend){
if($row['userid'] == $friend['uid']){
$return[$count] = $friend;
$return[$count]['vote'] = $row['vote'];
$row = $result->fetch_assoc();
$count++;
}
}
return $return;
}