Разработать страницу со статистикой на PHP
Есть три таблички в MySQL
Первая: описание пользователей
CREATE TABLE IF NOT EXISTS `users` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`login` varchar(40) COLLATE utf8_unicode_ci NOT NULL,
`passhashsalt` varchar(32) COLLATE utf8_unicode_ci NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Описание пользователей' AUTO_INCREMENT=109 ;
Вторая: описание игровых сессий
CREATE TABLE IF NOT EXISTS `sessions` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`date_start` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
`date_finish` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
`mode` enum('deathmatch','survivor','kbs') COLLATE utf8_unicode_ci NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Описание сессий' AUTO_INCREMENT=406 ;
Третья: статистика пользователей для каждой сессии
CREATE TABLE IF NOT EXISTS `user_statistics` (
`entry_id` int(11) NOT NULL AUTO_INCREMENT,
`user_id` int(11) NOT NULL,
`session_id` int(11) NOT NULL,
`score` int(11) NOT NULL,
`kills` int(11) NOT NULL,
`deaths` int(11) NOT NULL,
PRIMARY KEY (`entry_id`),
UNIQUE KEY `player_at_session` (`user_id`,`session_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Статистика пользователей для каждой сессии' AUTO_INCREMENT=2127 ;
Тестовые данные и ER-диаграмма прилеплены.
Необходимо создать веб-страницу для отображения статистики, используя эти таблицы. Язык программирования PHP.
Задания:
1. Необходимо вывести интерактивную табличку с таким содержанием по умолчанию
"Login, Score, Play Time, Player Kills, Deaths From Players, Monster Kills, Deaths From Monsters"
По любому из этих столбцов должна иметься возможность сортировки.
Примечание:
* Если mode Сессии равен deathmatch, то kills и deaths это кол-во убийств ИГРОКОВ и получение смерти от ИГРОКОВ
* Если mode Сессии равен survivor или kbs, то kills и deaths это кол-во убийств МОНСТРОВ и получение смерти от МОНСТРОВ
2. Необходима возможность отбора статистики по режиму игры: ОБЩАЯ, DEATHMATCH, SURVIVOR, KBS (в случае трех последних, некоторых столбцов не должно быть, тех которые не имеют смысла)
3. Ограничение показа записей на странице 20, т.е. должна быть возможность листать вперед-назад.
Дизайн, по вашему выбору. Но чем красивей это будет выглядеть тем круче =)
Требования:
* все должно быть в одном-двух файлах.
* можно (и нужно) использовать jquery и любые плагины к нему
* конечно же в БД можно создать VIEW и все что угодно.