None, 1=>AdditionalColumn, 2=>rankVal, 3=>aux), $comp $queryMap = [ 'turntime' => ['최근턴', 0, function ($lhs, $rhs) { return - ($lhs['turntime'] <=> $rhs['turntime']); }], 'recent_war' => ['최근전투', 1, function ($lhs, $rhs) { return - ($lhs['recent_war'] <=> $rhs['recent_war']); }], 'name' => ['장수명', 0, function ($lhs, $rhs) { if ($lhs['npc'] !== $rhs['npc']) { return $lhs['npc'] <=> $rhs['npc']; } return $lhs['name'] <=> $rhs['name']; }], 'warnum' => ['전투수', 2, function ($lhs, $rhs) { return - ($lhs['warnum'] <=> $rhs['warnum']); }] ]; if ($reqQueryType === null || !key_exists($reqQueryType, $queryMap)) { $reqQueryType = Util::array_first_key($queryMap); } //로그인 검사 $session = Session::requireGameLogin()->setReadOnly(); if ($session->userGrade < 5) { die(requireAdminPermissionHTML()); } $db = DB::db(); if ($btn == '정렬하기') { $gen = 0; } [$queryTypeText, $reqArgType, $comp] = $queryMap[$reqQueryType]; if ($reqArgType === 0) { $generalBasicList = $db->query('SELECT no, name, nation, npc, turntime FROM general'); } else if ($reqArgType === 1) { $generalBasicList = $db->query('SELECT no, name, nation, npc, turntime, %b FROM general', $reqQueryType); } else if ($reqArgType === 2) { $generalBasicList = $db->query( 'SELECT no, name, nation, npc, turntime, value as %b FROM general LEFT JOIN rank_data ON general.no = rank_data.general_id WHERE rank_data.type = %s', $reqQueryType, $reqQueryType ); } else if ($reqArgType === 3) { $generalBasicList = array_map(function ($arr) { $arr['aux'] = Json::decode($arr['aux']); return $arr; }, $db->query('SELECT no, name, nation, npc, turntime, aux FROM general')); } else { throw new \sammo\MustNotBeReachedException(); } usort($generalBasicList, $comp); if (!$gen) { $gen = $generalBasicList[0]['no']; } $generalObj = General::createGeneralObjFromDB($gen); ?> 로그정보
로 그 정 보
정렬순서 : 대상장수 :
장 수 정 보 -
 
개인 기록 전투 기록
장수 열전 전투 결과