gpt4 book ai didi

php - 给 Facebook 好友评分

转载 作者:行者123 更新时间:2023-11-30 00:52:24 27 4
gpt4 key购买 nike

    $app_using_friends = $facebook->api(array(
'method' => 'fql.query',
'query' => 'SELECT uid, name FROM user WHERE uid IN(SELECT uid2 FROM friend WHERE uid1 = me()) AND is_app_user = 1'

));

echo '<pre>';
print_r("query results:");
print_r($app_using_friends);
echo '</pre>';


foreach($app_using_friends as $fl){

echo "<li>".$fl['name']."</li>";
$result = mysql_query("SELECT * FROM user WHERE fb_id = " . $fl['uid']);
while ($row = mysql_fetch_array($result)) {
$test = $row{'fb_score'};
echo "score:".$row{'fb_score'}."<br>";
}
}


query results:Array
(
[0] => Array
(
[uid] => 100004375809
[name] => Brat
)

[1] => Array
(
[uid] => 100005832212
[name] => Vit
)

[2] => Array
(
[uid] => 100005832323
[name] => Ala
)

)

Brat
score:1

Vit
score:46

Ala
score:20

如何按分数排序?

最佳答案

解决方案1

您可以将这些结果添加到数组中并使用 usort() 函数对数组进行排序。它应该看起来像这样:

$list = array();
foreach($app_using_friends as $fl){
$result = mysql_query("SELECT * FROM user WHERE fb_id = " . $fl['uid']);
while ($row = mysql_fetch_array($result)) {
$list[] = $row;
}
}

function mycmp($a, $b) {
if ($a['fb_score'] == $b['fb_score']) return 0;
return ($a['fb_score'] > $b['fb_score']) ? -1 : 1;
}

// Performing the sort
usort($list, mycmp);

var_dump($list);

解决方案2

你可以加入所有好友的ID,并且只做一次MySQL pass。它应该看起来像这样:

$friend_id = "";
foreach($app_using_friend as $value) {
if ($friend_id != "") $friend_id .= ","
$friend_id .= $value['uid'];
}

// Query
$result = mysql_query("SELECT * FROM user WHERE fb_id IN (" . $friend_id . ") ORDER BY fb_score DESC");

关于php - 给 Facebook 好友评分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20857382/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com