Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Proektny_praktikum_Sayt (1) (1).docx
Скачиваний:
4
Добавлен:
01.07.2025
Размер:
3 Мб
Скачать
☆

Практическая работа №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 – Получение параметра и передача его в функцию

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]