Создание каталога отчетов
Нужно создать каталог отчетов к БД MySQL.
1) В основе любого отчета лежит SQL-запрос.
Как создается отчет:
- задается SQL-запрос
- задается список параметров к SQL-запросу. Каждый параметр имеет краткое название (как у переменной) и полное - для пользователя.
Параметры можно использовать в SQL-запросе по краткому названию.
Например, мы хотим сделать отчет о сумме заказов за определенный срок.
Запрос:
select sum(order_sum) as os from xx_orders where OrderDate>='%from_date' and OrderDate
Параметры:
%from_date - дата начала подсчета статистики
%to_date - дата окончания подсчета статистики
2) Как запускается отчет.
При запуске отчет должен спросить пользователя значения параметров, если они были заданы при создании запроса.
Потом сгенерировать в HTML таблицу с результатами. Названиями колонок таблицы должны быть аналогичны названиям колонок в выборке MySQL. Результаты должны быть обрезаны автоматически до 100 записей, если в запросе не указан limit. Другими словами если limit в запросе не указан, то он должен быть добавлен в запрос автоматически (limit 0, 100). Возле таблицы нужна кнопка "Экспорт в CSV" - по ней таблица (уже без ограничения в 100 записей - без автоматического добавления limit 0, 100) генерируется в CSV и загружается файлом.
3) Модуль работает в двух режимах: "администраторы" и "пользователи". Режим задается константой в начале кода.
Если включен режим "пользователи", то возможно только просматривать списки отчетов и выполнять их. Если включен режим "администраторы", то возможно также создавать, редактировать и удалять отчеты. В режиме "администраторы" Также нужно реализовать возможность создавать группы отчетов, чтобы если отчетов будет много в них было проще ориентироваться. То есть это должен быть каталог неограниченной вложенности. В любой группе можно создавать ещё группы или непосредственно отчеты. В режиме "пользователи" каталог отчетов просматривается по группам.
4) Каталог будет потом интегрирован нашими специалистами в более крупную систему, из этого возникают такие требования:
- код должен быть достаточно компактным, поэтому нужно чтобы он был написан на чистом php - чтобы с модулем не нужно было таскать ещё пару Мб фрэймворка.
- не обращайте внимания на авторизацию пользователей и оформление модуля, сделайте всё просто на белом фоне без использования стилей.
- "Заверните" обращение к БД (mysql_query) в свою функцию, назовите её, например, mc_query.
То есть в код должна быть добавлена функция
function mc_query($sql) {
return mysql_query($sql);
}
И везде вместо mysql_query используйте её.
- если вы захотите использовать js-фрэймворки для построения красивого интерфейса, то используйте jQuery.
Если у вас есть вопросы по заданию, то пишите, пожалуйста, в личку.
Стоимость работ 200-300 долларов. Оплата - Webmoney.