Разработать страницу со статистикой на PHP

Евгений13 років у сервісі
Дані замовника будуть вам доступні після подання заявки
23.05.2012

Есть три таблички в 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 и все что угодно.

Заявки фрілансерів