Применение языка PHP, СУБД MySQL и фреймворка CodeIgniter для разработки динамических веб-сайтов

Курсовой проект - Компьютеры, программирование

Другие курсовые по предмету Компьютеры, программирование

ателя с каталогом.

 

Рис.8. Работа с каталогом.

 

6.1 Список категорий

 

Так как у покупателя должна быть возможность выбора категории, самое удобное, что можно сделать - вывести список категорий, как показано на Рис.9.

 

Рис.9. Каталог.

 

Чтобы предоставить пользователю возможность с любой страницы сайта просмотреть нужную ему категорию, список категорий помещается в header. php. Для этого в контроллере catalog. php нужно создать функцию, которая будет использовать модель catalogmodel. php. В этой модели содержится следующий запрос: SELECT * FROM categories. В нём из таблицы с категориями выбираются все поля и передаются в контроллер. В контроллере подгружается header. php, в который передаются все параметры взятые с запроса. В header. php для вывода списка категорий необходимо открыть следующий цикл

 

foreach ($categories as $category)

{;

}

 

6.2 Список товаров

 

При щелчке по гиперссылке должен появиться список товаров, принадлежащих выбранной категории. Для этого следует передавать функции формирующей список товаров переменную id_category. Для этого в контроллере создана специальная функция categorydetails. Принятая переменная отправляется в модель, в которой с помощью SQL-запроса в БД сравнивается со значением id_category из таблицы product_category. Затем выбираются все товары, принадлежащие этой категории, они заносятся в массив и этот массив отправляется обратно в контроллер, где и передаётся в вид categorydetails. В этом виде все полученные данные выводятся в таблицу.

 

echo "";

echo "

";

 

Для предоставления посетителю возможности ознакомиться с новыми поступлениями, на главной странице выведены 3 товара из БД, у каждого из которых есть дата добавления в таблицу (Рис.10). Именно по этой дате выбираются более "свежие" товары. Делается это с помощью SQL-запроса:

* FROM products, imageproducts. id_product=image. id_productby date desc0,3

 

Рис.10. Новые поступления.

 

Так же покупателю дана возможность ознакомиться на главной странице со скидками на некоторые товары. Так как скидок может быть много, выводится всего 3 товара со скидками (Рис.11).

 

Рис.11. Скидки.

 

SQL-запрос для вывода товаров со скидками выглядит следующим образом:

 

SELECT * FROM discount, products, imagediscount. discount>0discount. id_product=products. id_productproducts. id_product=image. id_product 0,3

 

В этом запросе из таблиц discount, products, image берутся все поля, у которых есть скидки и совпадают id товаров. Так как скидок может быть много, ставится ограничение на вывод в главной странице.

7. Поиск по названию товара

 

Для посетителей, которые уже знают название товаров, или желающих купить мебель из определённого вида дерева, на сайте реализован поиск по названию товара.

Чтобы пользователь имел возможность внести желаемую строчку с названием товара, была создана форма (Рис.12). Для обработки этой формы создана функция search, которая подгружает модель GetSearch. В модели реализован SQL-запрос:

* FROM products, imagename_product%$text%products. id_product=image. id_product

 

В этом запросе сравниваются имена товаров с введённым текстом и наиболее похожие выводятся в представлении (Рис.13).

 

Рис.12. Форма поиска.

 

Рис.13. Пример работы поиска.

8. Заключение

 

В результате выполнения курсовой, был создан динамический веб-сайт. Для его разработки применялось актуальное программное обеспечение, без помощи которого не было бы возможности добиться поставленной цели. Это программное обеспечение включает в себя:

Язык программирования PHP.

Фреймворк CodeIgniter.

Веб-сервер XAMPP.

Реляционная система управления БД MySQL.

Приложение PHPMyAdmin.

Библиотека jQuery и плагин FancyBox.

С помощью этих инструментов значительно сокращена ручная работа. Например, в отличие от других фреймворков, в CodeIgniter большая часть работы - это создать контроллер, загрузить библиотеки, получить данные из модели и отправить результат в вид. С помощью такого подхода значительно сокращён повторяющийся код. Чтобы добиться ЧПУ без применения CodeIgniter и дополнительных библиотек, необходимо вносить много изменений в файл. htaccess. Таким образом, затрачено меньше времени на разработку сайта. Всё информационное наполнение сайта находится в БД. С помощью PHPMyAdmin можно быстро наполнить её новыми товарами и эти товары будут включены в сайт без изменения кода. Пользователю, посетившему данный сайт, предоставляется возможность просмотреть список к?/p>