$mysql_conf['host'], 'port' => $mysql_conf['port'], 'user' => $mysql_conf['user'], 'passwd' => $mysql_conf['passwd'], 'dbname' => 'gamedb2001_' . $mysql_conf['instance_id'] )); return $conn; } protected function getRedis() { $redis_conf = getRedisConfig(); $r = new phpcommon\Redis(array( 'host' => $redis_conf['host'], 'port' => $redis_conf['port'], 'passwd' => $redis_conf['passwd'], )); return $r; } public function rankInfo() { $account_id = $_REQUEST['account_id']; $conn = $this->getMysql($account_id); if (!$conn) { phpcommon\sendError(ERR_USER_BASE + 1, '没有这个玩家'); return; } $kill_list = array(); $kill_rank = 0; $alive_list = array(); $alive_rank = 0; $harm_list = array(); $harm_rank = 0; $rate_list = array(); $rate_rank = 0; $win_list = array(); $win_rank = 0; //击杀榜 $r = $this->getRedis(); $kill_rank_db = $r->get("game2001api: kill_rank"); $kill_db = json_decode($kill_rank_db); $i = 0; foreach ($kill_db as $kill) { if ($i > 99) { break; } if ($kill_db[$i][0] == $account_id) { $kill_rank = $i + 1; } array_push($kill_list, array( 'account_id' => $kill_db[$i][0], 'name' => $kill_db[$i][1], 'avatar_url' => $kill_db[$i][2], 'kill' => $kill_db[$i][3], 'alive'=> $kill_db[$i][4], 'harm' => $kill_db[$i][5], 'win_rate' => $kill_db[$i][6], 'win_game' => $kill_db[$i][7] )); $i++; } //生存榜 $alive_rank_db = $r->get("game2001api: alive_rank"); $alive_db = json_decode($alive_rank_db); $i = 0; foreach ($alive_db as $alive) { if ($i > 99) { break; } if ($alive_db[$i][0] == $account_id) { $alive_rank = $i + 1; } array_push($alive_list, array( 'account_id' => $alive_db[$i][0], 'name' => $alive_db[$i][1], 'avatar_url' => $alive_db[$i][2], 'kill' => $alive_db[$i][3], 'alive'=> $alive_db[$i][4], 'harm' => $alive_db[$i][5], 'win_rate' => $alive_db[$i][6], 'win_game' => $alive_db[$i][7] )); $i++; } //伤害榜 $harm_rank_db = $r->get("game2001api: harm_rank"); $harm_db = json_decode($harm_rank_db); $i = 0; foreach ($harm_db as $harm) { if ($i > 99) { break; } if ($harm_db[$i][0] == $account_id) { $harm_rank = $i + 1; } array_push($harm_list, array( 'account_id' => $harm_db[$i][0], 'name' => $harm_db[$i][1], 'avatar_url' => $harm_db[$i][2], 'kill' => $harm_db[$i][3], 'alive'=> $harm_db[$i][4], 'harm' => $harm_db[$i][5], 'win_rate' => $harm_db[$i][6], 'win_game' => $harm_db[$i][7] )); $i++; } //胜率榜 $rate_rank_db = $r->get("game2001api: rate_rank"); $rate_db = json_decode($rate_rank_db); $i = 0; foreach ($rate_db as $rate) { if ($i > 99) { break; } if ($rate_db[$i][0] == $account_id) { $rate_rank = $i + 1; } array_push($rate_list, array( 'account_id' => $rate_db[$i][0], 'name' => $rate_db[$i][1], 'avatar_url' => $rate_db[$i][2], 'kill' => $rate_db[$i][3], 'alive'=> $rate_db[$i][4], 'harm' => $rate_db[$i][5], 'win_rate' => $rate_db[$i][6], 'win_game' => $rate_db[$i][7] )); $i++; } //胜场榜 $win_rank_db = $r->get("game2001api: win_rank"); $win_db = json_decode($win_rank_db); $i = 0; foreach ($win_db as $win) { if ($i > 99) { break; } if ($win_db[$i][0] == $account_id) { $win_rank = $i + 1; } array_push($win_list, array( 'account_id' => $win_db[$i][0], 'name' => $win_db[$i][1], 'avatar_url' => $win_db[$i][2], 'kill' => $win_db[$i][3], 'alive'=> $win_db[$i][4], 'harm' => $win_db[$i][5], 'win_rate' => $win_db[$i][6], 'win_game' => $win_db[$i][7] )); $i++; } echo json_encode(array( 'errcode' => 0, 'errmsg' => "", 'kill_rank' => $kill_rank, 'kill_list' => $kill_list, 'alive_rank' => $alive_rank, 'alive_list' => $alive_list, 'harm_rank' => $harm_rank, 'harm_list' => $harm_list, 'rate_rank' => $rate_rank, 'rate_list' => $rate_list, 'win_rank' => $win_rank, 'win_list' => $win_list )); } } ?>