- •Практическая работа №1. Верстка страниц сайта
- •Практическая работа №2. Сборка страниц из блоков
- •Практическая работа №3. Работа с базой данных сайта. Создание библиотеки функций.
- •Практическая работа №4. Формирование списка статей на странице «Статьи» из базы данных
- •Практическая работа №5. Передача параметров методом get
- •Практическая работа №6. Регистрация пользователей
- •Практическая работа №7. Авторизация пользователей
- •Практическая работа №10 (самостоятельная). Скачивание файлов
- •Практическая работа №8. Самостоятельное создание гостевой книги и баннеров.
- •Практическая работа №9. Загрузка пользователем файлов в базу
- •Список литературы
Практическая работа №3. Работа с базой данных сайта. Создание библиотеки функций.
В mysql создадим базу данных mysite. А в ней – таблицу articles для хранения статей. Структура таблицы представлена на рис.32
Рис.32 – Таблица «articles»
Назначение полей:
Idarticle – первичный ключ, name – название статьи, full_text – полный текст статьи, intro - краткая аннотация, main - логическое поле – признак главной статьи
В корне сайта создадим папку lib и там разместим файл functions.php со следующим текстом:
Рис.33 – Библиотека функций
Функция connectDB() выполняет соединение с базой данных mysite, а closeDB() закрывает это соединение. Эти две функции мы будем далее постоянно использовать.
Для подключения библиотеки функций к страницам сайта(mysite.php, article.php, top_articles.php, top_reg.php, top_guestbook.php) вставим вначале каждой страницы код, показанный на рис.34
Рис.34 – Подключение библиотеки функций
Создадим в библиотеке функцию getMainArticle(), которая получает из базы данных атрибуты главной статьи сайта (рис.35).
Рис.35 – Функция getMainArticle()
Главная статья попадает на сайт из блока articles.php. До настоящего момента блок articles.php содержал исключительно статический html-код (рис.15). Теперь модифицируем содержание этого файла так, чтобы он генерировал код, подставляя в него данные главной статьи, полученные из базы (рис.36).
Рис.36 – article.php в виде шаблона
Проверяем, как выглядит после этой замены главная страница сайта. Заголовок и текст статьи должны отражаться на странице из базы.
Рис.37– Главная страница после модификаций.
Практическая работа №4. Формирование списка статей на странице «Статьи» из базы данных
Добавим в библиотеку functions.php две полезные функции. Функция fromObjectToArray() – получает массив объектов и преобразует его в двумерный хеш-массив.
Функция getAllArticles() получает все статьи из базы данных и возвращает результат в виде двумерного хеш-массива.
Рис.38 – Функции fromObjectToArray() и getAllArticles()
Изменим файл article_list.php так, чтобы он генерировался при помощи базы данных (рис.39)
Рис.39 – Генерация статей из базы.
Проверяем работу страницы top_articles.php (рис.40)
Рис.40 – Результат генерации статей из базы
Практическая работа №5. Передача параметров методом get
Файл article_list.php (рис.39) содержит статическую гиперссылку на article.php. Это неверно. Ссылка должна указывать на выбранную статью, то есть она должна меняться динамически. Чтобы реализовать этот механизм, добавим в библиотеку functions.php новую функцию getArticleById(), которая будет получать из базы данных статью с заданным id.
Рис.41 - функция getArticleById()
Теперь необходимо изменить гиперссылку в файле article_list.php так, чтобы через нее в виде параметра передавался id нужной статьи. С этой целью добавим индекс статьи в виде параметра в адрес гиперссылки, как показано на рис.42
Рис.42 – Добавление параметра в адрес гиперссылки
Передача параметра методом GET через адрес страницы выглядит, как показано на рис.43
Рис.43 – Передача параметра методом GET.
Теперь при открытии файла article.php этот параметр нужно прочитать. Для этого существует специальная переменная $_GET[], которая представляет из себя хеш-массив. Ключом хеша являются имена параметров передаваемых через адрес страницы, а значениями хеша являются значения параметров. Чтобы получить значение параметра с именем id, нужно написать $_GET[“id”].
Добавим в начало файла article.php блок, который получает статью из базы по id и инициализирует нужные для дальнейшей работы переменные (рис.44)
Рис.44 – Получение параметра и передача его в функцию
