Разработка автоматизированной обучающей системы с функцией контроля знаний
Создание web-сайта для сбора статистических данных, прогнозирования возможностей системы общего образования и анализа демографического состояния региона в динамике. Проектирование базы данных, разработка компонентов, алгоритмов и программного обеспечения.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | дипломная работа |
Язык | русский |
Дата добавления | 15.04.2013 |
Размер файла | 3,1 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
7.3 Анализ конкуренции
После длительного поиска имеющихся аналогов в сети Internet, были выявлены следующие аналоги:
1) ACT-Конструктор тестов
2) VeralTest-1.8
3) x-TLS-1.0.2 public
4) RomeXoft Multi Tester System-3.3
На основе анализа найденных программных продуктов и отзывов выявлены ряд недостатков:
1) Представленные системы не выводят УМ для контроля знаний
2) Отсутствие хорошего дружественного интерфейса, что затрудняет работу;
3) Почти все системы предполагают коммерческое использование
7.4 Производственный план
Действующая технология в разработки - язык ASP.NET.
Состав необходимого оборудования для реализации проекта - персональный компьютер и установленное на нем ПО.
Приведенные ниже таблица, перечни данных, позволяют сопоставить результаты разработки и затраты на нее, чтобы сделать вывод об эффективности проекта. Исходные данные для расчета экономических показателей приведены в таблице 7.1.
Таблица 7.1
Исходные данные для расчёта экономических показателей
Обозначение |
Наименование показателя |
Единицы измерения |
Значение показателя |
|||
СЭВМ |
Стоимость ЭВМ |
руб. |
_ |
|||
ДМ |
Среднее количество дней в месяце |
дни |
30(22) |
|||
н |
Норматив рентабельности |
- |
0,24(24%) |
|||
д |
Коэффициент, учитывающий дополнительную заработную плату разработчика программы |
- |
0,1(10%) |
|||
с |
Коэффициент, учитывающий начисления органам социального страхования |
- |
0,3(30%) |
|||
н |
Коэффициент, учитывающий накладные расходы организации |
- |
1,35(135%) |
|||
qI |
Количество I-задач, решаемых потребителем |
зад. год |
90 |
|||
tМ.В.I |
Время решения I-ой задачи разработанной программой |
маш. час |
0,4 |
|||
t'М.В.I |
Время решения I-ой задачи базовой программой |
маш. час |
0,9 |
|||
nп |
Количество организаций, которые приобретут данную программу |
шт. |
1г. |
2г. |
3г. |
|
2 |
4 |
6 |
||||
ZЭЛ |
Тариф за 1 кВт/час |
руб. |
2,95 |
|||
н |
Нормативный коэффициент эффективности капиталовложений |
- |
0,25 |
|||
ТС |
Срок службы разработанной программы |
год |
3 |
|||
НДС |
Налог на добавленную стоимость |
% |
18 |
|||
ТР |
Количество рабочих дней в году |
дн |
264 |
|||
NСМ |
Количество смен работы ЭВМ |
- |
1 |
|||
tСМ |
Продолжительность смены |
ч |
8 |
|||
Простои ЭВМ |
% |
5 |
||||
P |
Мощность, потребляемая ЭВМ |
кВт |
0,2 |
|||
NСР |
Среднее количество ремонтов в год |
- |
1 |
|||
SД |
Стоимость деталей, заменяемых при ремонте |
руб. |
2000 |
7.4.1 Расчет затрат на разработку программы
Суммарные затраты на разработку программы рассчитываются по следующей формуле:
SРП = SЗП+SНАК, (1)
где:
SЗП - затраты по заработной плате инженера-программиста;
SНАК - накладные расходы.
Затраты по заработной плате инженера-программиста рассчитываются по формуле:
SЗП = ОЗП * (1+с) * (1+д) * tрi, (2)
где:
ОЗП - основная заработная плата инженера-программиста за месяц (10000 руб.);
tpi - время, необходимое для разработки программы программистом i-го разряда (чел.-мес.);
д - коэффициент, учитывающий дополнительную заработную плату разработчика программы, в долях к сумме основной заработной платы;
с - коэффициент, учитывающий начисления органам социального страхования на заработную плату разработчика программы, в долях к сумме основной заработной плате разработчика.
Программа разрабатывалась 50 дней, если учесть, что в одном месяце 22 рабочих дня, то:
(чел. - мес.) (3)
Таким образом, затраты по заработной плате инженера-программиста составят:
SЗП = 5500 (1+0,3) (1+0,15) 2,05 = 16856,125 (руб.)
Накладные затраты рассчитываются с учетом н - коэффициента, определяющего уровень накладных расходов организации по формуле:
SНАК = ОЗП * н * tр12 , (4)
SНАК = 5500 1,35 2,05 = 15221,25 (руб.)
Таким образом, суммарные затраты на разработку программы составляют:
SРП = 16856,125 +15221,25= 32077,4 (руб.)
7.4.2 Расчет цены разработанной программы
Оптовая цена разработанной программы определяется по следующей формуле:
ZП = SРП + П, (5)
где:
ZП - оптовая цена (цена разработчика) (руб.);
SРП - суммарные затраты на разработку программы (руб.);
П - прибыль, рассчитанная по формуле:
П = н * SРП, (6)
где:
н - норматив рентабельности, учитывающий прибыль организации, разрабатывающей данную программу в долях ко всем затратам данной организации на разработку программы.
Итак,
ZП = SРП * (1+ н), (7)
ZП = 32077,4 (1+ 0,24) = 39775,95 (руб.)
Розничная цена программы рассчитывается с учетом налога на добавленную стоимость (НДС = 18%) по формуле:
ZПр = ZП + НДС = ZП + = ZП * (1+0,18), (8)
ZПр = 39775,95 (1+0,18) = 46935,62(руб.)
Выручка от продаж при условии nп - количество организаций, желающих прибрести программу, составит:
В = ZПр * nп , (9)
В1 = 46935,62 * 2 = 93871,24 (руб.)
В2 = 46935,62 * 4 = 187742,48 (руб.)
В3 = 46935,62 * 6 = 375484,96 (руб.)
7.4.3 Расчет эксплуатационных расходов
Эксплуатационные расходы на ЭВМ рассчитываются по формуле:
Е = (ТМ.В. еч) + , (10)
где:
ТМ.В. - машинное время для решения задач с помощью разработанной программы, (маш.час/год);
еч - эксплуатационные расходы, приходящиеся на 1 час работы ЭВМ;
ZП - цена, по которой продается программа (руб.);
ТС - срок службы программы (г).
Полезный фонд времени работы ЭВМ рассчитывается по формуле:
ТПОЛ = ТОБЩtСМNСМ, (11)
где:
ТОБЩ - общий фонд времени работы ЭВМ (дни); ТОБЩ = ТР;
NСМ - количество смен работы ЭВМ;
tСМ -время одного рабочего дня (час);
- простои ЭВМ (в % от общего фонда времени работы ЭВМ).
Полезный фонд времени работы ЭВМ получим:
ТПОЛ = 264 8 1 = 2006,4 (маш. час /год)
Машинное время для решения задач с помощью данной программы рассчитывается по формуле:
ТМ.В. = qItМ.В.I, (12)
где:
qI - количество I-задач, решаемых потребителем в год(шт.);
tМ.В.I - время решения I-ой задачи, разработанной программой (маш.час).
ТМ.В. = 90 0,4 = 36 (маш.час / год).
Эксплуатационные расходы, приходящиеся на 1 час работы ЭВМ, оцениваются по формуле:
, (13)
где:
Ао - амортизационные отчисления (руб.);
SЗП - затраты по заработной плате инженера в год (руб./год);
SЭЛ - стоимость потребляемой энергии (руб.);
Rрм - затраты на ремонт ЭВМ (руб.);
ТПОЛ - полезный годовой фонд работы ЭВМ, (маш.час/год).
Амортизационные отчисления рассчитываются с учетом нормы амортизации (ан =12,5 %);
АО = ан КЭВМ = 0,125 23000 = 2875 (руб.) (14)
Затраты по заработной плате инженера за год рассчитывается по формуле:
SЗП = (1+с) (1+д) ОЗП 12, (15)
где:
с - коэффициент, учитывающий начисления органам социального страхования на заработную плату разработчика программы, в долях к сумме основной заработной плате разработчика.
д - коэффициент, учитывающий дополнительную заработную плату разработчика программы, в долях к сумме основной заработной платы;
ОЗП - основная заработная плата инженера за месяц 1-го разряда (5000 руб.);
Рассчитываем годовые затраты по заработной плате и социальным отчислениям для инженера:
SЗП = (1+ 0,3) (1+ 0,15) 5500 12 = 98670 (руб./ год)
Стоимость потребляемой энергии оценивается по формуле:
SЭЛ = P ТПОЛZЭЛ , (16)
где:
P - мощность, потребляемая ЭВМ (кВт);
ТПОЛ - полезный годовой фонд работы ЭВМ (маш.час/год);
ZЭЛ - тариф за 1 кВт/час (руб. /кВт)
Итак, произведем расчет стоимости потребляемой энергии:
SЭЛ = 0,2 2006,4 2,95 = 1183,78 (руб.).
Затраты на ремонт ЭВМ вычисляются по формуле:
RРМ = NСРSД, (17)
где:
NСР - среднее количество ремонтов в год;
SД - стоимость деталей, заменяемых при одном ремонте, в среднем.
RРМ = 1 2000 = 2000 (руб.)
Произведем вычисление эксплуатационных расходов, приходящихся на 1 час работы ЭВМ:
(руб./час).
Далее вычислим эксплутационные расходы на ЭВМ:
Е = (36 ) + = 14908,41 (руб.).
7.5 Оценка и предупреждение риска
Основные риски при использовании системы - это возможность того, что во время тестирования клиент может случайно потерять соединение с сервером.
На этот случай можно настроить повторное возобновление соединения через определённые промежутки времени и продолжить тестирование, либо начать сначала с обнулением текущих результатов.
7.6 Финансовый план
7.7.1 Расчет капитальных вложений
Капиталовложения, связанные с работой ЭВМ рассчитываются по формуле:
КЭВМ = СЭВМ + SЗ, (18)
где:
СЭВМ - стоимость ЭВМ (руб.);
SЗ - стоимость запасных частей (руб.);
Итак, произведем расчет коэффициентов входящих в формулу расчета величины капиталовложений:
SЗ = 0,15 СЭВМ ; (19)
SЗ = 0,15 20000 = 3000 (руб.);
Капиталовложения в ЭВМ составляют:
КЭВМ = 20000 + 3000 = 23000 (руб.)
сайт база данный образование
7.7.2 Расчет экономии стоимости машинного времени
Расчет экономии стоимости машинного времени производится по формуле:
ЕМ.Э. = еч * (ТМ.В.1-ТМ.В.2) ,
где:
ЕМ.Э. - экономия стоимости машинного времени (руб.);
еч - эксплуатационные расходы, приходящиеся на 1 час работы ЭВМ;
ТМ.В.1 - машинное время для решения задач базовой программой (маш.час/год);
ТМ.В.2 - машинное время для решения задач с помощью разработанной программы (маш. час/год).
еч = 52,197 (руб./час);
ТМ.В.2 = 36 (маш.час / год);
ТМ.В.1 - машинное время для решения задач базовой программой рассчитывается с учетом t'М.В.I - время решения I-ой задачи базовой программой:
ТМ.В.1 = qI * t'М.В.I,
qI - количество I-задач, решаемых потребителем в год(шт.);
ТМ.В.1 = 90 0,9 = 81 (маш.час / год).
Рассчитаем экономию стоимости машинного времени:
ЕМ.Э. = 52,197 * (81 - 36) = 2348,87 (руб.).
7.7 Оценка эффективности проекта
7.7.1 Определение показателей эффективности инвестиций
Капитальные вложения на разработку и внедрение объектов проектирования, рассматриваются как инвестиции, необходимые для получения прибыли. Экономическая эффективность данных проектов характеризуется системой показателей, отражающих соотношение финансовых результатов и затрат.
Важным моментом при проведении расчетов является выбор масштабов цен. При отсутствии инфляции используют постоянные (базовые) цены, действующие на момент расчета. В условиях высокой инфляции, что характерно для России, целесообразно проводить расчет, соизмеряя разновременные затраты и результаты, путем дисконтирования. Для этого используется норма дисконта (Е).
Е = а + b + с, (20)
где:
а - цена капитала;
b - коэффициент учитывающий риск;
с - уровень инфляции на валютном рынке.
Е = 0,14 + 0,04 + 0,02 = 0,20.
Приведение осуществляется путем умножения затрат и результатов на коэффициент дисконтирования (КД), равный:
, (21)
где:
Т - период дисконтирования (гг.)
Оценка проекта, сравнение вариантов и выбор оптимального производится с использованием следующих показателей:
- Чистая дисконтированная стоимость (текущая дисконтированная стоимость), т.е. доход;
- Внутренняя норма доходности (рентабельность);
- Индекс доходности;
- Срок окупаемости.
Размер выручки от реализации определяется с учетом прогнозируемой средней потребности в разработанной программе и розничной цены.
Чистая дисконтированная стоимость (ЧДС) определяется как сумма потоков реальных денег, приведенная за весь расчетный период к начальному году:
, (22)
где:
Рt - результат в t-ом году;
Зt - затраты в t-ом году;
Т - период дисконтирования.
Вычисление ЧДД приведено в таблице 7.2.
Таблица 7.2
Расчет ЧДД
период |
Инвестиц |
Экономия на издержках |
Амортиз. отчисления |
Денежн. поток |
Кд |
ТДС |
ТДС (нарост. Итогом) |
|
0 |
-55077,4 |
- |
- |
- |
1 |
-55077,4 |
-54522,5 |
|
1 |
- |
2348,87 |
2875 |
5223,87 |
0.83 |
-14301,47 |
-68823,97 |
|
2 |
- |
2348,87 |
2875 |
5223,87 |
0.69 |
37622,38 |
-31201,59 |
|
3 |
- |
2348,87 |
2875 |
5223,87 |
0.57 |
113925,18 |
82723,59 |
|
ЧДД = 82723,59 |
Индекс доходности (ИД) рассчитывается по формуле:
, (24)
где: К - приведенная величина инвестиций, рассчитывающаяся по формуле:
, (25)
где:Kt - величина инвестиций в t-ом году.
Индекс доходности (ИД) проекта составляет:
Рассчитанное значение ИД = 2,49 больше единицы, следовательно, разработку программы можно считать эффективной и экономически обоснованной.
Средняя рентабельность разработки рассчитывается по формуле:
, (26)
где:
ИД - индекс доходности проекта;
Т - срок службы программы.
Средняя рентабельность разработки в нашем случае составит:
Срок окупаемости инвестиционного проекта (ТОК) - это период времени, который потребуется для возмещения инвестиций. ТОК определяют с учетом дисконтирования, путем суммирования ежегодных поступлений до определенного периода, в котором они превзойдут первоначальные расходы денежных средств.
Определим ТОК графическим методом, график, изображенный на рис. 7.1, строится по данным таблицы 7.2.
Рисунок 7.1 Определение срока окупаемости проекта
Как видно из графика, значение ТОК составляет 2,4 года.
Вывод:
В данном разделе дипломного проекта были рассмотрены: характеристики разработки, анализ существующих конкурентов, риски; был проведен расчет основных технико-экономических показателей обоснования разработки автоматизированной системы, применены навыки расчета экономической рентабельности разрабатываемого проекта. Однако выбор конкретных параметров экономического расчета был основан на специфике разрабатываемого проекта. Данная система разрабатывалась не для коммерческого использования, а для внедрения и последующего использования в образовательных учреждениях.
Заключение
Основные выводы и перспективы развития системы
В ходе выполнения дипломного проектирования была разработана система сбора статистических данных и прогнозирование возможностей системы общего образования.
Данная система имеет широкий потенциал развития. Она является актуальной и имеет практическую направленность. Одними из основных направлений эволюции системы являются:
Усовершенствование алгоритма прогнозирования для получения более точных и достоверных результатов прогноза.
Повышение достоверности первичной информации.
Увеличение числа поддерживаемых системой регионов.
Список литературы
1. Гуртов В.А., Яковлева А.А. Прогнозирование численности выпускников школ 9-х и 11-х классов // Университетское управление: практика и анализ. 2010. № 3. С. 64-70.
2. Семёнов А.А. Расчет объемов приема, объемов выпуска и численности студентов образовательных учреждений профессионального образования // Восьмая всероссийская научно-практическая интернет-конференция "спрос и предложение на рынке труда и рынке образовательных услуг в регионах России", 2011 г.
3. JavaScript [Электронный ресурс]
4. Центральный Javascript-ресурс. [Электронный ресурс] - http://javascript.ru/ (дата обращения: 5.05.2012);
5. PHP, MySQL и другие веб-технологии. [Электронный ресурс] - http://php.su/php/?can(дата обращения: 5.05.2012);
6. Описание языка PHP. [Электронный ресурс] - http://ru.wikipedia.org/wiki/PHP(дата обращения: 5.05.2012);
7. Безопасность жизнедеятельности. /Под ред. Н.А. Белова - М.: Знание, 2000 - 364с.
8. Самгин Э.Б. Освещение рабочих мест. - М.: МИРЭА, 1989. - 186с.
9. Справочная книга для проектирования электрического освещения. / Под ред. Г.Б. Кнорринга. - Л.: Энергия, 1977.
10. Борьба с шумом на производстве: Справочник / Е.Я. Юдин, Л.А. Борисов; Под общ. ред. Е.Я. Юдина - М.: Машиностроение, 1985. - 400с., ил.
11. Зинченко В.П. Основы эргономики. - М.: МГУ, 1979. - 179с.
Приложение
Исходный код
CEdu.php
<?php
/**
* Description of CEdu
*
* @author Алексей
*/
class CEdu {
//Данные
private $birthrate; //Рождаемость
private $migration; //Миграция
//Параметры конфигуратора запросов
private $counting_obj; //Объект расчета
private $calculate_years; //Года, для которых будут расчитываться
показатели
private $classes; //Классы, для которых производится расчет
private $upos;
private $view; //Тип визуализации
private $chart_type; //Тип графика
private $table_type; //Тип таблицы
//Выходные данные
private $data; //Ряды данных для вывода. Структура $data [Название
ряда] [Год] = Значение;
private $max_year_stat_data;
private $title; //Заголовок результата
private $parameters;
/**
* В конструктор передается год или список годов для выборки
информации из БД
*/
public function __construct() {
include_once 'connect.php';
$this->birthrate = array();
$this->deathrate = array();
$this->migration = array();
$this->parameters = array();
//загружаем статистику по рождаемости и смертности
$result = mysql_query("SELECT * FROM `demography`");
if ($result) {
$num = mysql_num_rows($result);
for ($i = 0; $i < $num; $i++) {
$row = mysql_fetch_array($result);
$this->birthrate [$row ['year']] = $row ['birth'];
}
}
$result = mysql_query("SELECT MAX(`year`) FROM `demography`");
if ($result) {
$row = mysql_fetch_array($result);
$this->max_year_stat_data = $row [0];
}
#загружаем расчетные параметры
$result = mysql_query("SELECT * FROM `parameter`");
if($result)
{
$row = mysql_fetch_array($result);
$this->parameters ['Bto9'] = $row ['Bto9'];
$this->parameters ['9to11'] = $row ['9to11'];
$this->parameters ['9toNPO'] = $row ['9toNPO'];
$this->parameters ['9toSPO'] = $row ['9toSPO'];
$this->parameters ['11toSPO'] = $row ['11toSPO'];
$this->parameters ['11toVPO'] = $row ['11toVPO'];
}
}
public function set_counting_obj($counting_obj) {
$this->counting_obj = $counting_obj;
}
public function set_calculate_years($calculate_years) {
$this->calculate_years = $calculate_years;
}
public function set_view($view) {
$this->view = $view;
}
public function set_chart_type($chart_type) {
$this->chart_type = $chart_type;
}
public function set_table_type($table_type) {
$this->table_type = $table_type;
}
/**
* Указать, для каких классов вести рассчет
*/
public function set_classes($classes) {
$this->classes = $classes;
}
public function set_upos($upos){
$this->upos = $upos;
}
/**
* Функция формирования заголовка результатов
*/
private function forming_title() {
switch ($this->counting_obj) {
case "release_school":
$this->title = "Количество выпускников общего образования ";
$num_classes = sizeof($this->classes);
for ($i = 0; $i < $num_classes; $i++) {
$this->title .= $this->classes [$i];
if (($i + 1) < $num_classes)
$this->title .= ", ";
}
if ($num_classes > 1)
$this->title .= " классов";
else
$this->title .= " класса";
break;
case "enter_po":
$this->title = "Распределение выпускников школы по учреждениям
профессионального образования ";
$num_upos = sizeof($this->upos);
for ($i = 0; $i < $num_upos; $i++) {
$this->title .= $this->upos [$i];
if (($i + 1) < $num_upos)
$this->title .= ", ";
}
break;
}
}
/**
* Расчет выпускников 9 класса в году $year
*/
private function calculate_9($year) {
$result = $this->birthrate [$year - 15] * $this->parameters ['Bto9']/100;
settype($result, "int");
return $result;
}
/**
* Расчет выпускников 11 класса в году $year
*/
private function calculate_11($year) {
$result = $this->calculate_9($year-2) * $this->parameters ['9to11']/100;
settype($result, "int");
return $result;
}
/**
* Расчет выпускников НПО в году $year
*/
private function calculate_npo($year) {
$result = $this->calculate_9($year) * $this->parameters ['9toNPO']/100;
settype($result, "int");
return $result;
}
/**
* Расчет выпускников СПО в году $year
*/
private function calculate_spo($year) {
$result = $this->calculate_9($year) * $this->parameters ['9toSPO']/100 +
$this->calculate_11($year) * $this->parameters ['11toSPO']/100;
settype($result, "int");
return $result;
}
/**
* Расчет выпускников ВПО в году $year
* @return int
*/
private function calculate_vpo($year) {
$result = $this->calculate_11($year) * $this->parameters ['11toVPO']/100;
settype($result, "int");
return $result;
}
/**
*
* Функция подготавливает ряды данных для вывода на экран
* @return 1
*/
private function prepare_data() {
//рассчет выпускников 9, 11 классов
switch ($this->counting_obj)
{
case "release_school":
{
for ($i = 0; $i < sizeof($this->calculate_years); $i++) {
if (in_array(9, $this->classes))
$this->data ['Выпускники 9 класса'] [$this->calculate_years [$i]] = $this-
>calculate_9($this->calculate_years [$i]);
if (in_array(11, $this->classes))
$this->data ['Выпускники 11 класса'] [$this->calculate_years [$i]] = $this-
>calculate_11($this->calculate_years [$i]);
}
break;
}
case "enter_po":
{
$this->title .= " в ".$this->calculate_years [0]." году";
for ($i = 0; $i < sizeof($this->calculate_years); $i++) {
if (in_array("НПО", $this->upos))
$this->data ['НПО'] [$this->calculate_years [$i]] = $this-
>calculate_npo($this->calculate_years [$i]);
if (in_array("СПО", $this->upos))
$this->data ['СПО'] [$this->calculate_years [$i]] = $this-
>calculate_spo($this->calculate_years [$i]);
if (in_array("ВПО", $this->upos))
$this->data ['ВПО'] [$this->calculate_years [$i]] = $this-
>calculate_vpo($this->calculate_years [$i]);
}
break;
}
}
}
/**
* Функция вывода результатов
*/
public function show() {
$this->forming_title();
$this->prepare_data();
switch ($this->view) {
case "table": {
$row_names = array_keys($this->data);
$len_names = sizeof($row_names);
$num_years = sizeof($this->data [$row_names [0]]);
$years = array_keys($this->data [$row_names [0]]);
$html .= "<p class='table_title'>" . $this->title . "</p>";
$html .= "<table class='report'>";
$html .= "<tbody><tr><th></th>";
for ($i = 0; $i < $num_years; $i++) {
$html .= "<th>" . $years [$i];
// if ($years [$i] > $this->max_year_stat_data)
// $html .= "(прогноз)";
$html .= "</th>";
}
$html .= "</tr></tbody>";
for ($i = 0; $i < $len_names; $i++) {
$html .= "<tr>";
$html .= "<td>" . $row_names [$i] . "</td>";
for ($j = 0; $j < $num_years; $j++)
$html .= "<td>" . $this->data [$row_names [$i]] [$years [$j]] . "</td>";
$html .= "</tr>";
}
$html .= "</table>";
$html .= "<pclass='about_info'>При проведении расчетов используется
только статистическая информация, предоставляемая Федеральной
службой государственной статистики </p>";
switch ($this->table_type) {
case "html":
echo '<style>' . file_get_contents("css/html_style.css") . '</style>';
echo $html;
break;
case "pdf":
include 'mpdf/mpdf.php';
$pdf = new mPDF();
$pdf->SetProtection(array('print'));
//------указывем стиль для содержимого PDF документа------
$style = file_get_contents("css/pdf_style.css");
$pdf->WriteHTML($style, 1);
$pdf->WriteHTML($html, 2);
$pdf->Output("pdf/report.pdf", "I");
break;
case "excel": {
$columns = array("A", "B", "C", "D", "E", "F", "G",
"H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y
","Z","AA","AB","AC");
include "phpexcel/PHPExcel.php";
$pExcel = new PHPExcel();
$pExcel->setActiveSheetIndex(0);
$aSheet = $pExcel->getActiveSheet();
$aSheet->setTitle("Лист 1");
//массив имен рядов/колонок
$row_names = array_keys($this->data);
$aSheet->setCellValue("A1", $this->title);
$aSheet->setCellValue("B2", "НПО");
$aSheet->setCellValue("C2", "СПО");
$aSheet->setCellValue("D2", "ВПО");
// Цикл по строкам
for ($i = 0; $i < sizeof($this->data); $i++) {
$keys = array_keys($this->data [$row_names [$i]]);
$pos = "A".($i+3);
$aSheet->setCellValue($pos, $row_names [$i]);
//цикл по колонкам
for ($j = 0; $j < sizeof($this->data [$row_names [$i]]); $j++) {
//
$pos = $columns [$j+1].($i + 3);
$aSheet->setCellValue($pos, $this->data [$row_names [$i]] [$keys [$j]]);
}
}
$pos = $columns [0] . (sizeof($this->data) + 4);
$aSheet->setCellValue($pos, "При проведении расчетов используется
только статистическая информация, предоставляемая Федеральной
службой государственной статистики ");
//отдаем пользователю в браузер
include "phpexcel/PHPExcel/Writer/Excel2007.php";
$objWriter = new PHPExcel_Writer_Excel2007($pExcel);
header('Content-Type: application/vnd.ms-excel2007');
header('Content-Disposition: attachment;filename="rate.xlsx"');
header('Cache-Control: max-age=0');
$objWriter->save('php://output');
break;
}
}
break;
}
case "chart": {
require_once 'ezc/Base/src/ezc_bootstrap.php';
switch ($this->chart_type) {
case "bar"://столбчатая
$graph = new ezcGraphBarChart();
$graph->xAxis->label = 'Год';
$graph->yAxis->label = 'Значение';
break;
case "line"://график
$graph = new ezcGraphLineChart();
$graph->xAxis->label = 'Год';
$graph->yAxis->label = 'Значение';
break;
case "pie"://круговая
$graph = new ezcGraphPieChart();
break;
case "radar"://радар
$graph = new ezcGraphRadarChart();
break;
}
// Глобальные настройки шрифта
$graph->options->font->name = 'Times New Roman';
$graph->background->color = '#ffffff';
$graph->title = $this->title;
$graph->title->position = ezcGraph::TOP;
$graph->title->font->maxFontSize = '24';
$graph->legend->position = ezcGraph::BOTTOM;
if ($this->chart_type == 'pie' && sizeof($this->data) > 1)
die( "Для данного типа графика нельзя отобразить более одного ряда
данных");
$keys = array_keys($this->data);
if ($this->chart_type == 'radar' && sizeof($this->data [$keys [0]]) < 4)
die( "Для данного типа графика необходимо выбрать более четырех
расчетных лет");
$row_names = array_keys($this->data);
// Добавляем ряды данных
for ($i = 0; $i < sizeof($this->data); $i++)
$graph->data [$row_names [$i]] = new ezcGraphArrayDataSet($this->data
[$row_names [$i]]);
// Вывод диаграммы
$graph->renderToOutput(712, 384);
break;
}
}
}
}
?>
_about.php
<style type="text/css">
#center,#breadcrumbs{
width: 730px;
padding: 4px 8px;
}
#right{
width: 0;
visibility: hidden;
}
</style>
<script type="text/javascript">
jQuery("#breadcrumbs").html("Осистеме");
</script>
<b>Описание системы:</b>
<p>
Автоматизированная система сбора статистических данных и прогнозирование возможностей системы общего образования предназначена для расчета количества выпускников 9 и 11 классов общего образования, а также для расчета их распределения между уровнями профессионального образования на основе статистических данных.
Разработанная система позволяет проводить обзор и анализ демографического состояния региона в динамике.
</p>
<b>Функции системы:</b>
<ol>
<li> - сбор статистических данных посредством импорта Excel файлов с
данными; </li>
<li> - прогнозирование возможностей общего образования; </li>
<li> - расчет распределения выпускников по учреждениям
профессионального образования; </li>
<li> - редактирование расчетных параметров;</li>
<li> - создание и ведение новостного канала; </li>
<li> - импорт и агрегация новостной ленты из внешних rss каналов;
</li>
</ol>
<b>Ключевые особенности системы:</b>
<ol>
<li> - представление графической информации в векторном формате;
</li>
<li> - представление табличной информации в виде Excel, HTML и PDF
файлов; </li>
<li> - использование в качестве математического метода
прогнозирования метод трехпараметрического экспоненциального
сглаживания (Винтерса); </li>
</ol>
<b>Пример работы системы:</b>
<br>
<iframe style="border: none;" src="res.html" height="430" width="720"
></iframe>
_enter.php
<?php
if (isset($_SESSION ['id']))
{
include '_news.php';
return;
}
session_start(); ?>
<script type="text/javascript">
jQuery("#breadcrumbs").html("Вход в систему");
</script>
<style type="text/css">
#center,#breadcrumbs{
width: 730px;
padding: 4px 8px;
}
#right{
width: 0;
visibility: hidden;
}
form [name=enter2]{
margin: 8px auto;
width: 200px
}
form [name=enter2] a{
font-size: 8pt;
}
form [name=enter2] input{
margin: 2px;
border-radius: 2px;
border: 1px solid #b2cbd4;
max-height: 16pt;
box-shadow: 0px 0px 2px 0px #b2cbd4;
margin-bottom: 8px;
width: 192px;
}
form [name=enter2] input [type=submit]{
height: 24px;
border: 1px solid #b2cbd4;
border-radius: 2px;
box-shadow: 0px 0px 4px 1px #b2cbd4;
}
form [name=enter2] input [type=submit]:hover{
cursor: pointer;
background-color: #c4e2f9;
}
p#reg_info{
width: 400px;
border: 1px solid #b2cbd4;
border-radius: 3px;
padding: 4px;
margin: 4px auto;
text-align: center;
}
</style>
<?php
if(isset($_GET ['reg']) && $_GET ['reg'] == '1'){?>
<p id="reg_info">
Вы успешно прошли регистрацию. <br>Теперь Вы можете войти в
систему используя в качестве логина ИНН или ОГРН Вашей
организации и пароль, указанный при регистрации.
</p>
<?php }
if(isset($_GET ['wrong'])){?>
<p id="reg_info" style="background-color: #ff6666;">
Вы ввели неверный логин или пароль.
</p>
<?php }
if (!isset($_SESSION ['user'])) { ?>
<form name="enter2" action="enter.php" method="post">
<input type="text" name="login" required="required" placeholder="Логин"
/>
<input type="password" name="password" required="required"
placeholder="Пароль" />
<input type="submit" name="enter" value="Войти"/>
</form>
<?php } ?>
_forecast.php
<style type="text/css">
#center,#breadcrumbs{
width: 734px;
padding: 4px;
}
#right{
width: 0;
visibility: hidden;
}
fieldset{
padding: 4px;
border: 1px solid #b2cbd4;
margin-bottom: 4px;
border-radius: 3px;
}
fieldset.sub
{
border: none;
margin-left: 16px;
}
input [type=radio]:hover, label:hover{
cursor: pointer;
}
select{
width: 100%;
display: block;
border: 1px solid #b2cbd4;
background: transparent;
border-radius: 3px;
}
option{
padding: 2px 4px;
}
legend{
font-weight: bold;
}
p.select_all, p.deselect_all{
border: 1px outset #b2cbd4;
background-color: transparent;
border-radius: 3px;
padding: 2px 3px;
margin: 1px 4px 0 0;
text-align: right;
float: left;
font-size: 8pt;
}
p.select_all:hover, p.deselect_all:hover{
cursor: pointer;
background-color: #c4e2f9;
}
p.select_all:active, p.deselect_all:active{
border: 1px inset #b2cbd4;
}
#instruction{
padding: 4px;
padding: 4px;
border: 1px solid #b2cbd4;
margin-bottom: 4px;
border-radius: 3px;
background-color: #fff0bf;
font-weight: bold;
text-align: center;
}
iframe{
border: none;
}
</style>
<script type="text/javascript">
jQuery("#breadcrumbs").html("Прогнозирование возможностей системы
образования");
</script>
<fieldset>
<legend>Окно представления результатов</legend>
<iframe name="frame_result" width="724" height="400"></iframe>
</fieldset>
<p id="instruction">
Выберите объект расчета, расчетный период и, нажав на иконку
интересующего способа визуализации получите результат окне
представления результата.
</p>
<form name="config" action="edu.php" method="post"
target="frame_result">
<fieldset>
<legend>Объектрасчета<img title="Подсказка"
onclick="help(event,'edu_counting_obj');" width="16"
src="img/support.png"/></legend>
<p>
<input id="release_school" type="radio" name="counting_obj"
value="release_school" checked="checked" required="required"/>
<label for="release_school">Количество выпускников общего
образования</label>
<fieldset class="sub" id="sub_release_school">
<select name="classes []" size="2" multiple="multiple">
<option value="9" selected="selected"> 9 класс</option>
<option value="11" selected="selected"> 11 класс</option>
</select>
</fieldset>
</p>
<p>
<input id="enter_po" type="radio" name="counting_obj" value="enter_po"
required="required"/>
<label for="enter_po">Распределение выпускников школы по
учреждениям профессионального образования</label>
<fieldset class="sub" id="sub_enter_po" >
<select name="upos []" size="2" multiple="multiple">
<option value="НПО" selected="selected">НПО</option>
<option value="СПО">СПО</option>
<option value="ВПО">ВПО</option>
</select>
</fieldset>
</p>
</fieldset>
<div>
<fieldset>
<legend>Расчетныегода<img title="Подсказка"
onclick="help(event,'counting_year');" width="16"
src="img/support.png"/></legend>
<select id="calculate_years" name="years []" multiple="multiple"
required="required">
<?php
include 'connect.php';
$res_upo = mysql_query("SELECT MAX(`year`) FROM `demography`");
if ($res_upo) {
$row_upo = mysql_fetch_array($res_upo);
$max_year = $row_upo [0];
for ($i = $max_year + 1; $i < $max_year + 12; $i++)
echo "<option value='$i'>" . $i . "</option>";
}
?>
</select>
<p class="select_all" id="p_select_ved"
onclick="select_all('calculate_years');">Выделитьвсе</p>
<p class="deselect_all" id="p_deselect_ved"
onclick="deselect_all('calculate_years');">Снятьвыделение</p>
<script type="text/javascript">
document.getElementById('calculate_years').size = "11";
</script>
</fieldset>
<fieldset>
<legend>Способвизуализации<img title="Подсказка"
onclick="help(event,'view');" width="16"
src="img/support.png"/></legend>
<p>
<input id="chart" type="radio" name="view" value="chart"
checked="checked" /><label for="chart">Диаграмма</label>
<fieldset class="sub" id="sub_chart">
<button name="chart_type" value="bar" ><img width="128"
src="img/bar.png"/><br><span>Гистограмма</span></button>
<button name="chart_type" value="line"><img width="128"
src="img/line.png"/><br><span>График</span></button>
<button name="chart_type" value="radar"><img width="128"
src="img/radar.png"/><br><span>Лепестковая</span></button>
<button name="chart_type" value="pie" ><img width="128"
src="img/pie.png"/><br><span>Кольцевая</span></button>
</fieldset>
</p>
<p>
<input id="table" type="radio" name="view" value="table"/><label
for="table">Таблица</label>
<fieldset class="sub" id="sub_table">
<button name="table_type" value="html" ><img width="128"
src="img/html.png"/><br><span>HTML</span></button>
<button name="table_type" value="excel"><img width="128"
src="img/excel.png"/><br><span>Microsoft Excel</span></button>
<button name="table_type" value="pdf" ><img width="128"
src="img/pdf.png"/><br><span>PDF</span></button>
</fieldset>
</p>
</fieldset>
</div>
</form>
<script type="text/javascript">
var objects = document.forms ['config'].elements;
for(var i = 0; i < objects.length; i++)
{
switch(objects [i].type)
{
case 'radio':
case 'checkbox':
{
objects [i].onclick = function(){check(objects)};
}
}
}
check(objects);
</script>
_news.php
<style type="text/css">
#center,#breadcrumbs{
width: 730px;
}
#right{
width: 0;
visibility: hidden;
}
</style>
<script type="text/javascript">
jQuery("#breadcrumbs").html("Новости");
</script>
<style type="text/css">
.news{
border: 1px solid #c4e2f9;
padding: 8px;
margin-bottom: 8px;
}
.head_news{
font-size: 14pt;
font-weight: bold;
padding: 4px;
}
.body_news{
border-top: double #c4e2f9;
border-bottom: 1px solid #c4e2f9;
border-radius: 0;
max-height: 200px;
text-overflow: ellipsis;
margin-bottom: 8px;
}
.body_news img{
float: left;
margin: 2px 8px 8px 2px;
max-height: 150px;
max-width: 200px;
}
.date_news{
float: left;
width: 50%;
}
.author_news{
text-align: right;
}
.module div img {
width: 40px;
max-height: 40px;
}
</style>
<form action="" method="post">
<fieldset style="margin: 4px 0; border: 1px solid; border-color: #c4e2f9;
border-radius: 4px; padding: 4px;">
<legend><b>Источники новостей</b></legend>
<?php
if(isset($_POST ['chanels']))
$chanels = $_POST ['chanels'];
else
$chanels = array();
$result = mysql_query("SELECT * FROM `chanel`");
if ($result) {
$num = mysql_num_rows($result);
for ($i = 0; $i < $num; $i++) {
$row = mysql_fetch_array($result);
echo "<input";
if(in_array($row ['id_chanel'], $chanels))
echo " checked ";
echo " id='chanel$row [id_chanel]' name='chanels []' type='checkbox'
value='$row [id_chanel]' /><label for='chanel$row [id_chanel]'>$row
[name]</label><br>";
}
}
?>
<p><input type="submit" value="Показать" /></p>
</fieldset>
</form>
<?php
include_once 'connect.php';
$result = mysql_query("SELECT * FROM `chanel` WHERE `id_chanel` IN
(".implode(', ', $chanels).")");
if($result)
{
$num = mysql_num_rows($result);
for($i = 0; $i < $num; $i++)
{
$row = mysql_fetch_array($result);
$rss = simplexml_load_file($row ['link']); //Интерпретирует XML-
файлвобъект
//цикл для обхода всей RSS ленты
foreach ($rss->channel->item as $item) {
echo "<div class='news'>";
echo "<div class='head_news'>$item->title</div>";
echo "<div class='rating_news'></div>";
echo "<div class='body_news'>$item->description</div>";
echo "<div class='date_news'>".date("Y-m-d", strtotime($item-
>pubDate))."</div>";
echo "<div class='author_news'></div>";
echo "</div>";
}
}
}
$result = mysql_query("SELECT * FROM `article` ORDER BY `id_article`
DESC");
$num = mysql_num_rows($result);
for($i = 0; $i < $num; $i++)
{
$row = mysql_fetch_array($result);
echo "<div class='news'>";
echo "<div class='head_news'>$row [title]</div>";
echo "<div class='rating_news'></div>";
echo "<div class='body_news'>$row [body]</div>";
echo "<div class='date_news'>$row [date]</div>";
$author = mysql_fetch_array(mysql_query("SELECT `name` FROM `user`
WHERE id_user = '$row [id_user]' "));
echo "<div class='author_news'>Автор: $author [0]</div>";
echo "</div>";
}
?>
Connect.php
<?php
/*
* Это файл, создающий подключение к базе данных.
*/
$dblocation = "localhost";
$dbname = "diplom12";
$dbuser = "root";
$dbpasswd = "";
$dbcnx = @mysql_connect($dblocation,$dbuser,$dbpasswd);
if (!@mysql_select_db($dbname, $dbcnx))
die ("<div style='border: 1px solid; margin: 100px auto; width: 200px;'>Нет
соединения с базой данных</div>");
mysql_set_charset("utf8");
?>
Edu.php
<?php
/*
* Скрипт рассчета возможностей сиситемы образвания
*/
include 'CEdu.php';
include 'connect.php';
$cedu = new CEdu();
$years = array();
if(isset($_POST ['counting_obj']))
{
$cedu->set_counting_obj($_POST ['counting_obj']);
if($_POST ['counting_obj'] == 'release_school')
$cedu->set_classes($_POST ['classes']);
elseif($_POST ['counting_obj'] == 'enter_po')
$cedu->set_upos($_POST ['upos']);
}
if (isset($_POST ['years'])) {
$years = $_POST ['years'];
$cedu->set_calculate_years($_POST ['years']);
}
else
die("Необходимо выбрать год для расчета");
if (isset($_POST ['view'])) {
$cedu->set_view($_POST ['view']);
if($_POST ['view'] == "chart")
$cedu->set_chart_type($_POST ['chart_type']);
elseif($_POST ['view'] == "table")
$cedu->set_table_type ($_POST ['table_type']);
}
$cedu->show();
?>
Enter.php
<?php
include_once 'connect.php';
$key = 0;#ключ показывает, есть ли такой пользователь в системе
$login = $_POST ['login'];
$password = $_POST ['password'];
if (!empty($login) && !empty($password)) {
$result = mysql_query("SELECT * FROM `user` WHERE `email`='$login'
AND `password`='" . md5($password) . "'");
if ($result && mysql_num_rows($result) == 1) {
$key = 1;
$row = mysql_fetch_array($result);
if(session_start())
{
$_SESSION ['id'] = $row ['id_user'];
$_SESSION ['type'] = 'user';
$_SESSION ['name'] = $row ['name'];
$_SESSION ['surname'] = $row ['surname'];
}
}
}
if($key)
header("Location: " . $_SERVER ['HTTP_REFERER']);
else
header("Location: index.php?page=enter&wrong=1");
index.php
<?php
session_start();
include 'connect.php';
include 'modules.php';
?>
<!DOCTYPE html>
<html>
<head><?php mod_head(); ?></head>
<body id="body">
<div id="help">
<p id="close_help"
onclick="document.getElementById('help').style.visibility='hidden';">Закры
ть</p>
<p id="help_body"></p>
</div>
<!-- Главная оболочка -->
<divid="wrapper_main">
<!-- Заголовок страницы -->
<divid="top"><?phpmod_top(); ?></div>
<!-- Содержание страницы -->
<divid="wrapper_content">
<!-- Левая колонка -->
<divid="left">
<?php
mod_vmenu();
mod_auth();
?>
</div>
<div id="right"></div>
<!-- Основное содержание -->
<divid="breadcrumbs"></div>
<div id="center">
<?php
if (isset($_GET ['page']))
require '_' . $_GET ['page'] . '.php';
else
require '_news.php';
?>
</div>
</div>
</div>
<!-- Нижняя часть -->
<div id="footer"><?php mod_footer(); ?></div>
</body>
</html>
<?php mysql_close(); ?>
Modules.php
<?php
session_start();
function mod_head() {
$folder = substr($_SERVER ['SCRIPT_NAME'], 0, strrpos($_SERVER
['SCRIPT_NAME'], "/") + 1);
?>
<title>Автоматизированная система сбора статистических данных и
прогнозирование возможностей системы общего образования</title>
<meta name="Resource-Type" content="Document" />
<meta name="keywords" content="" lang="en"/>
<meta name="keywords" content="" lang="ru"/>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<meta http-equiv="pragma" content="no-cache" />
<meta http-equiv="content-language" content="ru">
<link rel="icon" type="image/x-icon" href="<?php echo $folder;
?>img/icon.png" />
<link rel="stylesheet" type="text/css" href="<?php echo $folder;
?>css/template.css"/>
<script type="text/javascript" src="<?php echo $folder;
?>js/jquery.js"></script>
<script type="text/javascript" src="<?php echo $folder;
?>js/my.js"></script>
<?php
}
function mod_top() {
?>
<img style="float:left; height: 64px; margin: 0 12px;" src="img/line.png" />
Автоматизированная система сбора статистических данных и прогнозирование возможностей системы общего образования
<?php
}
function mod_vmenu() {
?>
<div class="module">
<div class="head">Меню</div>
<ul id="vmenu">
<li id="news" onclick="location='index.php?page=news'"><a
href="index.php?page=news"> Новости </a></li>
<li id="about" onclick="location='index.php?page=about'"><a
href="index.php?page=about"> О системе </a></li>
<li id="forecast" onclick="location='index.php?page=forecast'">
<a href="index.php?page=forecast"> Прогнозирование </a>
</li>
</ul>
</div>
<script type="text/javascript">
var items = jQuery("ul#vmenu li");
var key_selection = 0;
for(var i = 0; i < items.length; i++)
{
if(items [i].id == '<?php echo $_GET ['page']; ?>')
{
key_selection = 1;
items [i].style.backgroundColor = '#eaf3f7';
}
}
</script>
<?php
if(!isset($_GET ['page'])){ ?><script type="text/javascript" >
document.getElementById('news').style.backgroundColor = '#eaf3f7';
</script><?php }
}
function mod_auth() { ?>
<style type="text/css">
form [name=enter]{
margin: 8px;
}
form [name=enter] a{
font-size: 8pt;
}
form [name=enter] input{
margin: 2px;
border-radius: 2px;
border: 1px solid #b2cbd4;
max-height: 16pt;
box-shadow: 0px 0px 2px 0px #b2cbd4;
margin-bottom: 8px;
width: 150px;
}
form [name=enter] input [type=submit]{
height: 24px;
border: 1px solid #b2cbd4;
border-radius: 2px;
box-shadow: 0px 0px 4px 1px #b2cbd4;
}
form [name=enter] input [type=submit]:hover{
cursor: pointer;
background-color: #c4e2f9;
}
form [name=enter] input [type=submit]:active{
box-shadow: none;
}
</style>
<div class="module">
<divclass="head">Вход в систему</div>
<?php
if (!isset($_SESSION ['id'])) { ?>
<form name="enter" action="enter.php" method="post">
<input type="text" name="login" required="required" placeholder="Логин"
/>
<input type="password" name="password" required="required"
placeholder="Пароль" />
<input type="submit" name="enter" value="Войти"/>
</form>
<?php }
else {
if($_SESSION ['type'] == 'user'){ ?>
<p><b><?php echo $_SESSION ['surname']." ".$_SESSION ['name'];
?></b></p>
<p><a href="/administrator/">Панель администратора</a></p>
<?php } ?>
<form name="enter" action="out.php" method="post">
<input type="submit" name="out" value="Выйти"/>
</form>
<?php } ?>
</div><?php
}
function mod_footer() {
$begYear = 2012;
echo '' . $begYear;
$curYear = date("Y");
if ($begYear < $curYear)
echo '-' . $curYear;
echo ' г.';
}
?>
Out.php
<?php
if($_SERVER ['REQUEST_METHOD'] != 'POST')
return;
session_start();
$params = session_get_cookie_params();
if (!setcookie("PHPSESSID", "", $params ['lifetime'], $params ['path'],
$params ['domain'], $params ['secure']))
echo "Не удалось снять куки!";
else {
$_SESSION = array();
session_destroy();
}
header("Location: " . $_SERVER ['HTTP_REFERER']);
?>
Template.css
/*@CHARSET "UTF-8";*/
/* >> Каркас страницы */
*{
margin: 0;
padding: 0;
}
div {
border-radius: 4px;
-moz-border-radius: 4px ;
-webkit-border-radius: 4px;
}
div#help{
position: absolute;
visibility: hidden;
width: 300px;
padding: 4px;
border-radius: 0;
border: 1px solid #c4e2f9;
background-color: white;
box-shadow: 2px 2px 4px #b2cbd4;
-moz-box-shadow: 2px 2px 4px #b2cbd4; /* Для Firefox */
-webkit-box-shadow:2px 2px 4px #b2cbd4; /* Для Safari и Chrome */
}
div#help p#close_help{
font-weight: bold;
text-align: right;
font-size: 8pt;
float: right;
}
div#help p#close_help:hover{
cursor: pointer;
}
legend img:hover{
cursor: pointer;
}
html, body{
font-family: tahoma, arial, verdana, sans-serif, Lucida Sans;
font-size: 10pt;
color: #54666c;
height: 100%;
min-height: 100%;
background-color: white;
}
body div{
overflow: auto;
word-wrap: break-word;
}
#wrapper_main{
min-height: 95%;
padding-bottom: 40px;
margin: 0 auto;
min-width: 995px;
width: 995px;
}
#wrapper_main > *{
border: 1px solid #b2cbd4;
margin-bottom: 4px;
/* background-color: #f8f8f8;*/
}
#top{
font-size: 18pt;
text-align: center;
margin-top: 4px;
margin-bottom: 12px;
border-radius: 2px 2px 12px 12px;
-moz-border-radius:2px 2px 12px 12px;
-webkit-border-radius: 2px 2px 12px 12px;
background-color: #c4e2f9;
padding: 12px;
}
#wrapper_content{
border: none;
background-color: transparent;
padding: 0 25px;
}
#wrapper_content > *{
padding: 8px;
margin-bottom: 4px;
background-color: white;
border: 1px solid #b2cbd4;
}
#left{
float: left;
width: 176px;
padding: 0;
padding-right: 4px;
margin-right: 6px;
border: none;
background-color: transparent;
}
#right{
float: right;
width: 176px;
padding: 2px;
border: none;
background-color: transparent;
overflow: hidden;
padding-right: 4px;
}
#right *{
overflow: hidden;
}
#breadcrumbs{
width: 550px;
padding: 4px 8px;
background-color: #fff0bf;
font-weight: bold;
box-shadow: 0px 0px 10px #b2cbd4;
/* box-shadow: 2px 2px 4px #b2cbd4;
-moz-box-shadow: 2px 2px 4px #b2cbd4; Для Firefox
-webkit-box-shadow:2px 2px 4px #b2cbd4; Для Safari и Chrome */
}
#center{
float: left;
width: 550px;
text-align: justify;
padding-top: 28px;
min-height: 400px;
box-shadow: 0px 0px 10px #b2cbd4;
/* -moz-box-shadow: 2px 2px 4px #b2cbd4; Для Firefox
-webkit-box-shadow:2px 2px 4px #b2cbd4; Для Safari и Chrome */
}
#footer{
width: 995px;
min-width: 995px;
padding: 4px;
margin: 0 auto;
margin-top: -30px;
background-color: #c4e2f9;
border: 1px solid #b2cbd4;
text-align: center;
}
/* << Каркар страницы */
a{
text-decoration: none;
color: #54666c;
}
a:hover{
text-decoration: underline;
cursor: pointer;
}
input, select{
color: #54666c;
}
button, input [type=button]{
font-size: 10pt;
background-color: #eaf3f7;
border: 1px solid #b2cbd4 ;
border-radius: 2px;
-moz-border-radius: 2px;
-webkit-border-radius: 2px;
}
button:hover, input [type=button]:hover{
cursor: pointer;
background-color: #dbeff6;
}
button:active, input [type=button]:active{
background-color: white;
}
/* Все что касается модулей*/
.module{
text-align: justify;
border: 1px solid #b2cbd4;
padding: 0px;
margin-bottom: 20px;
background-color: white;
box-shadow: 0px 0px 10px #b2cbd4;
/* -moz-box-shadow: 2px 0px 0px #b2cbd4; Для Firefox
-webkit-box-shadow: 0px 0px 0px #b2cbd4; Для Safari и Chrome */
}
.module .head{
background-color: #fff0bf;
/* height: 16px;*/
border-radius: 0;
padding: 4px;
border-bottom: 1px solid #b2cbd4;
font-weight: bold;
}
.module p{
padding: 2px 8px;
}
.module ul{
/* margin: -4px;*/
}
.module ul li{
background-color: transparent;
color: #54666c;
border-bottom: 1px dotted;
cursor: pointer;
padding: 2px 8px;
}
.module ul li#end{
border: none;
}
.module ul li:hover{
background-color: #eaf3f7;
color: #333333;
}
.module ul li:hover a{
text-decoration: underline;
}
/*
Document : pdf_style
Created on : 04.11.2011, 9:03:04
Description: Стильдляформирования PDF-таблиц
*/
root {
display: block;
}
table.report{
width: 100%;
margin-bottom: 24px;
border: 2px solid #aaa;
border-collapse: collapse;
background-color: #e3f0fe;
}
table.report td, table.report th{
border: 1px solid #aaa;
padding: 2px 4px;
text-align: center;
}
p.table_title{
font-size: 16pt;
font-weight: bold;
text-align: center;
width: 100%;
margin: 24px 0 12px 0;
color: #1f4a7a;
}
_article.php
<script type="text/javascript">
init_tinymce();
</script>
<script type="text/javascript">
$('#breadcrumbs').html("Новости");
</script>
<?php
$obj = $_GET ['obj'];
if (!isset($obj)) {
?>
<style type="text/css">
div.row{
padding: 4px;
}
div.row:hover{
background-color: #cbe7A0;
}
</style>
<button
onclick="location='index.php?page=articles&obj=add_article'">Добавить
статью</button>
<form name="articles" action="manage_articles.php" method="post" >
<?php
$result = mysql_query("SELECT * FROM `article`");
if ($result) {
$num = mysql_num_rows($result);
for ($i = 0; $i < $num; $i++) {
$row = mysql_fetch_array($result);
?>
<div class="row">
<a href="?page=articles&obj=edit_article&id=<?php echo $row
['id_article']; ?>" ><?php echo ($i + 1) . ") " . $row ['title'] . " "; ?></a>
Подобные документы
Создание автоматизированной системы по сбору и анализу статистических данных сайта. Принципы сбора статистических данных. Исследование информационных потоков. Обзор современных СУБД и языков программирования. Логическая и физическая модель базы данных.
дипломная работа [3,0 M], добавлен 08.07.2012Создание автоматизированной системы для упрощения работы с данными, расчётами и отчётами, анализа и хранения поступающих в лабораторию хроматографических исследований данных. Функциональные требования к системе. Проектирование программного обеспечения.
курсовая работа [1,9 M], добавлен 23.01.2013Обзор и обоснование выбора системы управления обучением. Структура автоматизированной обучающей системы. Описание процессов проектирование базы. Общие сведения о процессах полимеризации. Получение каучуков методом стереоспецифической полимеризации.
курсовая работа [2,9 M], добавлен 19.06.2015Порядок сбора данных с помощью программного обеспечения "ПРОЛОГ". Языки программирования VBA и HTML, их характерные особенности. Web-сервера Apache, принцип работы серверной системы. Реализация сбора данных и разработка сайта с показаниями приборов.
дипломная работа [4,4 M], добавлен 24.09.2014Проектирование базы данных для автоматизированной системы "Склад". Разработка концептуальной модели (ER-диаграмма). Преобразование в реляционную модель и ее нормализация. Разработка запросов к базе данных на языке SQL. Скрипт для создания базы данных.
курсовая работа [161,8 K], добавлен 07.10.2013Разработка автоматизированной базы данных (БД) для больницы, которая поможет пользователю легко найти нужную информацию о любом сотруднике или пациенте. Выбор системы управления БД и программного обеспечения. Описание работы программного продукта.
дипломная работа [1,9 M], добавлен 26.03.2013Разработка и программная реализация сайта и базы данных, наполнение базы данных тестовой информацией о товарах. Инструментальные средства создания сайта. Организация тестирования сайта, модуль визуализации интерфейса. Создание запросов в базе данных SQL.
курсовая работа [1,4 M], добавлен 24.12.2012Создание базы данных, построение на ее основе информационной системы в виде веб-сайта. Обоснование и выбор системы управления базой данных. Датологическое проектирование, разработка алгоритма решения задачи, создание форм. Результаты обработки данных.
отчет по практике [904,1 K], добавлен 13.04.2015Описание системы-прототипа по видам обеспечения. Недостатки системы учета. Информация, подлежащая структуризации и системной организации. Исходящие и входящие информационные потоки. Проектирование базы данных предприятия. Разработка моделей базы данных.
курсовая работа [3,2 M], добавлен 03.07.2012Разработка проектных решений по созданию автоматизированной системы управления "модератор сайта". Проектирование структуры базы данных. Выбор среды разработки. Описание программного средства. Разработка web-сайта на примере ЗАО Молкомбинат "Адыгейский".
дипломная работа [1,8 M], добавлен 09.02.2013