Php 给facebook好友打分
小鬼 分数:1 维生素 分数:46 阿拉 分数:20 如何按分数排序?使用排序依据: 解决方案1 您可以将这些结果添加到数组中,并使用usort函数对数组进行排序。应该是这样的: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_
$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中对结果进行分页。如果可以,它将如何进行分页。