- •Министерство образования и науки республики казахстан Университет «туран»
- •Дипломный проект
- •Задание на дипломный проект
- •Руководитель: ________ Ахметжанова ж.Б.
- •Содержание:
- •Глава 1. Обоснование потребности в Web-сайте……….……..……………………... 6
- •Глава 2. Разработка и создание Web-сайта……………....…………………………… 24
- •Глава 3. Технико-экономическое обоснование……………………………...………. 66
- •Глава 4. Охрана труда и безопасность жизнедеятельности……………………….. 73
- •Введение
- •Цели и поставленные задачи дипломного проекта
- •Глава 1. Обоснование потребности в Web-сайте
- •1.1 Web-сайт, общие понятия.
- •1.1.1 Классификация Web-сайтов
- •1.1.2 Проектирование и разработка Web-сайта
- •1 Этап — определение целей создания сайта
- •2 Этап — проведение исследований по теме
- •3 Этап — определение типа сайта, разработка тз и структуры
- •4 Этап — разработка макета дизайна сайта
- •5 Этап — html-css вёрстка
- •6 Этап — программирование и установка на cms
- •1.2 Разработка базы данных MySql
- •1.2.1 Связь с базами данных MySql
- •1.2.2 Хранение данных в реляционных базах данных
- •1.3 Разработка административной части сайта
- •1.4 Язык php
- •1.4.1 Общие правила построения php-программы
- •Переменные
- •1.4.2 Связь php с базой данных MySql
- •1.5 Основы css
- •Свойства шрифта
- •Глава 2 Разработка и создание Web-сайта «Детский Хоккейный Клуб»
- •2.1 Постановка задачи при проектировании web- сайта
- •2.2 Общая структура Web-сайта
- •Главная
- •2.2.1 Каталоги в cms Joomla V.1.5.8
- •2.2.2 Работа с базами данных в cms Joomla V.1.5.8
- •Префикс
- •Общепринятые поля таблицы
- •Поля даты
- •Многоязычные требования
- •Запрос в базу данных
- •Написание запросов
- •Получение результата
- •Использование adOdb
- •Управление зарезервированными полями
- •Publishing
- •Checking Out
- •Ordering
- •Поле параметров
- •Поля даты
- •2.3 Дизайн Web-сайта
- •2.3.1 Подробное описание разделов и подразделов
- •2.4 Администрирование
- •2.4.1 Панель администратора
- •Пиктограмма с надписью Сайт.
- •Пиктограмма Меню
- •Пиктограмма Статьи
- •Пиктограмма Компоненты
- •Пиктограмма Расширения
- •Пиктограмма Инструменты
- •2.4.2 Создание пунктов меню
- •2.4.3 Редактирование материала
- •2.4.4 Установка Шаблона Web-сайта
- •2.4.5 Вставка видео на Web-сайт
- •Вставка видео с YouTube.Com
- •2.4.6 Опрос пользователей Web-сайта
- •Глава 3. Технико-экономическое обоснование
- •3.1 Оценка общего состояния рынка веб-разработки
- •3.2 Стоимость разработки
- •Стоимость операционной системы
- •Системные требования html-редакторов
- •Минимальные требования и расходы
- •Необходимые требования и расходы
- •Оптимальный вариант для создания Web-сайта «Детский хоккейный клуб»
- •Глава 4. Нормы и требования охраны труда на рабочем месте разработчика Web-сайта
- •4.1 Общие положения
- •4.2 Требования безопасности во время эксплуатации эвм
- •4.3 Требования безопасности во время работы
- •4.4 Выводы
- •Заключение
- •Список использованной литературы
- •16. Д. Н. Колисниченко. Движок для вашего сайта. Cms Joomla!, Slaed, php Издательство: бхв-Петербург, 2008г.
- •34. Билл Скотт, Тереза Нейл. Проектирование веб-интерфейсов. 2010г.
- •Приложения
2.2.2 Работа с базами данных в cms Joomla V.1.5.8
Большая часть данных из Joomla храниться в базе данных. После установки Joomla создает 35 таблиц. Некоторые из этих таблиц принадлежат различных расширениям ядра Joomla. Получим доступ к базе данных Joomla с помощью глобального объекта JDatabase. JDatabase - это абстрактный класс, который позволяет работать с различными драйверами баз данных. На данный момент Joomla содержит только два драйвера - MySQL и MySQLi. Получим доступ к глобальному объекту JDatabase используя JFactory:
$db =& JFactory::getDBO();
Префикс
Все таблицы в базе данных имеют префикс, по-умолчанию jos_, который помогает сохранять в одной базе данных несколько установок Joomla. Когда мы пишем SQL запросы, то мы используем символический префикс, который заменяется во время выполнения. По-умолчанию символический префикс - это #__, но мы можем использовать любые символы, если нам это нужно.
Схема соглашений
Когда мы создаем таблицы для своих расширений, мы должны придерживаться некоторых стандартов. Самое важное - это правильное именование таблиц. Все названия таблиц должны начинаться с префикса и содержать вначале имя расширения. Если таблиц у расширения несколько, то мы добавляем в имени таблице после названия расширения символ подчеркивания "_" и пишем дополнительное произвольное название. Например таблица для компонента "My Еxtensions" может быть названа #__myextension_items. Имена таблиц должны быть в нижнем регистре и только по-необходимости разделятся символом подчеркивания. Например, вы можете назвать поле хранящее адрес почты как email. Если вы имеете первичное и вторичное поле email (primary и secondary), то вы должны назвать поля email и email_secondary; неправильно будет называть первичное поле email_primary. Если у вас имеется ключевое поле ID, то оно обязательно должно быть типа integer, автоинкрементное и с не иметь пустого значения.
Общепринятые поля таблицы
Мы можем использовать несколько зарезервированных полей в нашей таблице. Используя эти поля, мы получаем над ними дополнительное управления с помощью фрэймворка Joomla. Как этим пользоваться будет написано ниже (с помощью класса JTable). Итак, это поля: Publishing - поле указывает, опубликован ли элемент, или нет. Имеет тип tinyint(1) и два значения 0 - неопубликован, 1 - опубликован. Hits - отображает сколько обращений было к записе. Имеет тип integer и значение по-умолчанию 0. Checking Out - на слуйчай если запись могут редактировать несколько пользователей, мы можем блокировать ее с помощью этого поля. Для этого используется два поля checked_out и checked_out_time. checked_out имеет тип integer и содержит ID пользователя обратившегося к записе. checked_out_time имеет тип datetime и содержит дату и время обращения пользователя к записе. Если дата содержит значение null и id пользователя равен 0, то запись не заблокирована. Ordering - нам часто будет нужно разрешить администратору указать по какому полю произвести сортировку. Поле ordering имеет тип integer, и может быть использовано для указания колличества записей участвующих в сортировке и выводимых на экран. Это поле необязательно должно быть уникальным, и может быть использовано в запросе WHERE. Parameter Fields - мы часто будем использовать поле параметров, по-умолчанию названное params и имеющее тип TEXT, для сохранения дополнительной информации о записях. Данные хранящиеся в этих полях закодированы как INI строки (которые мы обрабатываем в дальнейшем с помощью класса JParameter). Перед тем как использовать поле параметров, мы должны выбрать данные которые нужно хранить в нем. Данные должны соответствовать следующим критериям:
Не использоваться в сортировках
Не использоваться в поиске
Существовать только для некоторых записей
Не участвовать в межтабличных связях
Пример схемы
Таблица 5 нарисована для расширения названного 'My Extension' и записей названных обобщенно foobar. Имя таблицы будет #__myextension_foobars.
Таблица 5
Таблица с именем: #__myextension_foobars
Поле |
Тип |
NOT NULL |
AUTO INC |
UNSIGNED |
По-уомлчанию |
id |
INTEGER |
+ |
+ |
+ |
NULL |
content |
TEXT |
+ |
|
|
|
checked_out |
INTEGER |
+ |
|
+ |
0 |
checked_out_time |
DATETIME |
+ |
|
|
0000-00-00 00:00:00 |
params |
TEXT |
+ |
|
|
|
ordering |
INTEGER |
+ |
|
+ |
0 |
hits |
INTEGER |
+ |
|
+ |
0 |
published |
TINYINT(1) |
+ |
|
+ |
0 |
Эта таблица использует все зарезервированные поля и одно автоинкрементное ключевое поле ID. SQL запрос который создаст таблицу описанную в схеме выше:
CREATE TABLE '#__myextension_foobars' (
'id' INTEGER UNSIGNED NOT NULL DEFAULT NULL AUTO_INCREMENT,
'content' TEXT NOT NULL DEFAULT '',
'checked_out' INTEGER UNSIGNED NOT NULL DEFAULT 0,
'checked_out_time' DATETIME NOT NULL DEFAULT '0000-00-00
00:00:00',
'params' TEXT NOT NULL DEFAULT '',
'ordering' INTEGER UNSIGNED NOT NULL DEFAULT 0,
'hits' INTEGER UNSIGNED NOT NULL DEFAULT 0,
'published' INTEGER UNSIGNED NOT NULL DEFAULT 0,
PRIMARY KEY('id')
)
CHARACTER SET 'utf8' COLLATE 'utf8_general_ci';