Php 给facebook好友打分

Php 给facebook好友打分,php,mysql,facebook,sorting,Php,Mysql,Facebook,Sorting,小鬼 分数:1 维生素 分数:46 阿拉 分数: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_

小鬼 分数:1

维生素 分数:46

阿拉 分数: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);
$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");
解决方案2 您可以加入所有朋友的ID,并且只进行一次MySQL传递。应该是这样的:

$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);
$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");

解析错误:语法错误,第149行usort$列表index.php中的意外T_函数,函数$a,$b{您的PHP版本是什么?较旧的PHP版本不支持闭包。@user3149249,我已更新了我的答案以支持较旧的PHP版本。对我来说,我强烈建议您使用第二个解决方案,该解决方案更干净,MySQL查询传递更少。解决方案2:解析错误:语法错误,第143行的index.PHP中意外的T_变量$friend_id.=$value['uid'];是否可以在div中对结果进行分页。如果可以,它将如何进行分页。