0 ? $current_page - 5: 0; $navi_page_range_count = max(0, min(9, $last_page - $navi_page_range_start)); $navi_page_list = range($navi_page_range_start, $navi_page_range_start + $navi_page_range_count); $pageinfo['current'] = $current_page; $pageinfo['last'] = $last_page; $pageinfo['navi_list'] = $navi_page_list; $pageinfo['total_data_count'] = $total_data_count; $pageinfo['data_count_per_page'] = $data_count_per_page; return $pageinfo; } /** * ページナビゲーションテーブルを表示する * * @param array $pageinfo calc_page_info()関数で取得したページ情報を保持する連想配列 */ function print_navi_page_table($pageinfo) { if (count($pageinfo['navi_list']) <= 1) return; $href_base = preg_replace('/(&?start=\w+)/', '', filter_input(INPUT_SERVER, 'REQUEST_URI')); if (strpos($href_base, "?") === FALSE) { $href_base .= "?"; } echo "\n" .""; if ($pageinfo['current'] > 0) { $href = $href_base . "&start=". ($pageinfo['current'] - 1) * $pageinfo['data_count_per_page']; echo ""; } foreach ($pageinfo['navi_list'] as $page) { $page_num = $page + 1; $href = $href_base . "&start=". $page * $pageinfo['data_count_per_page']; if ($page === $pageinfo['current']) { echo ""; } else { echo ""; } } if ($pageinfo['current'] < $pageinfo['last']) { $href = $href_base . "&start=". ($pageinfo['current'] + 1) * $pageinfo['data_count_per_page']; echo ""; } echo "\n" ."
< 前へ$page_num$page_num次へ >
\n"; } /** * スコアランキングテーブルを表示する * * @param array $scores スコア * @param integer $rank_start 順位の開始番号(0オリジン) */ function print_score_table($scores, $rank_start) { echo << 順位 スコア 日付 名前 種族 職業 性別 死因 EOM; foreach($scores as $idx => $score) { //$rank = $pageinfo['current'] * $pageinfo['data_count_per_page'] + $idx + 1; $rank = $rank_start + $idx + 1; $score_id = $score['score_id']; $date = substr($score['date'], 0, 10); $sex_str = $score['sex'] ? "男" : "女"; $death_reason = get_death_reason($score['killer']); $depth = !$score['winner'] ? $score['depth']."階, " : ""; $realms = isset($score['realms_name']) ? "(".$score['realms_name'].")" : ""; $dumpfile = new DumpFile($score_id); echo "\n"; if ($dumpfile->exists('dumps', 'txt')) { echo "{$rank}\n"; } else { echo "{$rank}\n"; } echo <<{$score['score']} $date {$score['personality_name']}{$score['name']} {$score['race_name']} {$score['class_name']}$realms $sex_str EOM; if ($dumpfile->exists('screens', 'html')) { echo "{$death_reason}"; } else { echo "{$death_reason}"; } echo "
({$depth}{$score['version']})\n"; echo "\n"; } echo "\n"; } $db = new ScoreDB(); $start_num = filter_input(INPUT_GET, 'start', FILTER_VALIDATE_INT) ?: 0; $search_result = $db->search_score($start_num, 50); $pageinfo = calc_page_info($search_result['total_data_count'], $start_num, 50); ?> 変愚蛮怒 スコア ランキング

変愚蛮怒 歴代スコア (get_sort_mode_name(); ?>)