$this->set_sort_mode(filter_input(INPUT_GET, 'sort'));
}
+ public function get_defines()
+ {
+ $id_define_array = [];
+ $tables = [['race', 'races'], ['class', 'classes'], ['personality', 'personalities'], ['realm', 'realms']];
+ foreach ($tables as $t) {
+ $id_define_array[$t[0]] = [];
+ $stmt = $this->dbh->query("SELECT {$t[0]}_id, {$t[0]}_name FROM {$t[1]} ORDER BY {$t[0]}_id");
+ foreach ($stmt->fetchAll(PDO::FETCH_NUM) as $row) {
+ $id_define_array[$t[0]][intval($row[0])] = $row[1];
+ }
+ }
+
+ return $id_define_array;
+ }
+
/**
* スコア表示モードを設定する
*
$realm_insert_stmt = $this->dbh->prepare(
<<<EOM
INSERT INTO score_realms
- (score_id, realm_id)
+ (score_id, realm_id, realm_seq)
SELECT
- ?, realm_id
+ ?, realm_id, ?
FROM
realms
WHERE
// したがってlastInsertIdで追加されたスコアのscore_idを取得可能
$score_id = $this->dbh->lastInsertId();
- foreach ($score_data['realm_info'] as $realm_name) {
- if ($realm_insert_stmt->execute([$score_id, $realm_name]) === FALSE ||
+ foreach ($score_data['realm_info'] as $realm_seq => $realm_name) {
+ if ($realm_insert_stmt->execute([$score_id, $realm_seq + 1, $realm_name]) === FALSE ||
$realm_insert_stmt->rowCount() !== 1) {
$dbh->rollBack();
return FALSE;