php-2
.pdf•Откройте браузер и в адресной строке наберите: http://mysite.local/eshop/admin/
•Перейдите по ссылке Добавление товара в каталог. Вы должны попасть на страницу add2cat.php
•Добавьте в каталог несколько товаров
•За корректностью добавления следите через монитор MySQL в окне командной строки В случае ошибок, найдите их и исправьте
Модуль 9. Интернет-магазин Стр.101
Практическая работа. Часть 4
Выборка и показ товаров из каталога
Модуль 9. Интернет-магазин Стр.102
Содержание работы. Часть 4
Выборка и показ товаров из каталога
Задание 1: Создание функции выборки товара из каталога
•В текстовом редакторе откройте файл eshop\inc\lib.inc.php
•Создайте функцию selectAllItems(), которая возвращает все содержимое каталога товаров в виде ассоциативного массива
•В теле функции сформируйте SQL-запрос на выборку данных из таблицы catalog. Запрос должен выглядеть примерно так:
$sql = 'SELECT id, title, author, pubyear, price FROM catalog';
•Далее, напишите следующий текст:
if(!$result = mysqli_query($link, $sql)) return false;
$items = mysqli_fetch_all($result, MYSQLI_ASSOC); mysqli_free_result($result);
return $items;
• Сохраните файл eshop\inc\lib.inc.php
Задание 2: Формирование представления каталога
•В текстовом редакторе откройте файл eshop\catalog.php
•С помощью функции selectAllItems получите выборку всех товаров в переменную $goods
•В цикле выведите все товары на экран:
foreach($goods as $item){ ?>
<tr>
<td><?= $item['title']?></td> <td><?= $item['author']?></td> <td><?= $item['pubyear']?></td>
<td><?= $item['price']?></td> <td>В корзину</td> </tr>
<?
}
•Значение ячейки В корзину оформите в виде гиперссылки на документ add2basket.php, добавив параметр id с идентификатором товара
Модуль 9. Интернет-магазин Стр.103
•Сохраните файл eshop\catalog.php
•Откройте браузер и в адресной строке наберите: http://mysite.local/eshop/catalog.php
•Убедитесь в корректном выводе каталога товаров. В случае ошибок, найдите их и исправьте
Модуль 9. Интернет-магазин Стр.104
Практическая работа. Часть 5
Сохранение товара в корзину пользователя
Модуль 9. Интернет-магазин Стр.105
Содержание работы. Часть 5
Сохранение товара в корзину пользователя
Задание 1: Создание корзины покупателя
•В текстовом редакторе откройте файл eshop\inc\lib.inc.php
•Создайте функцию saveBasket(), которая сохраняет корзину с товарами в куки
•В теле функции введите следующий текст: global $basket;
$basket = base64_encode(serialize($basket)); setcookie('basket', $basket, 0x7FFFFFFF);
•Создайте функцию basketInit(), которая создает либо загружает в переменную $basket корзину с товарами, либо создает новую корзину с идентификатором заказа
•В теле функции введите следующий текст: global $basket, $count; if(!isset($_COOKIE['basket'])){
$basket = ['orderid' => uniqid()]; saveBasket();
}else{
$basket = unserialize(base64 _decode($_COOKIE['basket']));
$count = count($basket) - 1;
}
•Сохраните файл eshop\inc\lib.inc.php
•В текстовом редакторе откройте файл eshop\inc\config.inc.php
•Внизу кода допишите вызов функции basketInit
•Сохраните файл eshop\inc\config.inc.php
Задание 2: Создание функции сохранения товара в корзину
•В текстовом редакторе откройте файл eshop\inc\lib.inc.php
•Создайте функцию add2Basket($id), которая добавляет товар в корзину пользователя и принимает к качестве аргумента идентификатор товара
•В теле функции введите следующий текст:
Модуль 9. Интернет-магазин Стр.106
global $basket; $basket[$id] = 1; saveBasket();
• Сохраните файл eshop\inc\lib.inc.php
Задание 3: Добавление товара в корзину
•В текстовом редакторе откройте файл eshop\add2basket.php
•Получите идентификатор товара, добавляемого в корзину
•Назначьте количество добавляемого товара равным 1
•Вызовите функцию add2Basket для сохранения товара в корзине
•Переадресуйте пользователя на страницу каталога товаров
•Сохраните файл eshop\add2basket.php
•Откройте браузер и в адресной строке наберите: http://mysite.local/eshop/catalog.php
•Добавьте несколько товаров в корзину. В случае ошибок, найдите их
и исправьте.
( Обратите внимание, что в строке Товаров в корзине: число должно меняться в большую сторону )
Модуль 9. Интернет-магазин Стр.107
Практическая работа. Часть 6
Выборка и показ товаров из корзины пользователя
Модуль 9. Интернет-магазин Стр.108
Содержание работы. Часть 6
Выборка и показ товаров из корзины пользователя
Задание 1: Создание функций выборки товаров из корзины
•В текстовом редакторе откройте файл eshop\inc\lib.inc.php
•Создайте функцию myBasket(), которая возвращает всю пользовательскую корзину в виде ассоциативного массива
•В теле функции введите следующий текст: global $link, $basket;
$goods = array_keys($basket); array_shift($goods); if(!$goods)
return false;
$ids = implode(",", $goods);
$sql = "SELECT id, author, title, pubyear, price FROM catalog WHERE id IN ($ids)";
if(!$result = mysqli_query($link, $sql)) return false;
•Создайте функцию result2Array($data), которая принимает результат выполнения функции myBasket и возвращает ассоциативный массив товаров, дополненный их количеством
•В теле функции введите следующий текст: global $basket;
$arr = [];
while($row = mysqli_fetch_assoc($data)){ $row['quantity'] = $basket[$row['id']]; $arr[] = $row;
}
return $arr;
•В теле функции myBasket допишите: $items = result2Array($result); mysqli_free_result($result); return $items;
•Сохраните файл eshop\inc\lib.inc.php
Задание 2: Формирование корзины пользователя
•В текстовом редакторе откройте файл eshop\basket.php
•Проверьте, есть ли товары в корзине пользователя. Если товаров нет,
Модуль 9. Интернет-магазин Стр.109
перед кодом отрисовки таблицы выведите сообщение: Корзина пуста! Вернитесь в каталог. Иначе, выведите сообщение: Вернуться в
каталог
•Оформите слово каталог в виде гиперссылки на файл catalog.php
•Получите все товары из корзины пользователя в виде массива вызвав функцию myBasket
•Создайте целочисленные переменные $i со значением 1 для подсчета порядковых номеров и $sum со значением 0 для подсчета общей суммы заказа
•В цикле заполните таблицу по аналогии с заполнением каталога (Практическая работа 4, Задание 2)
•В цикле увеличивайте значение переменной $sum на соответствующее значение (сумма текущего товара * количество товара) и значение переменной $i на единицу
•Значение ячейки Удалить оформите в виде гиперссылки на документ delete_from_basket.php, добавив параметр id с идентификатором товара
•Выведите общую сумму товаров в корзине
•Сохраните файл eshop\basket.php
•Откройте браузер и в адресной строке наберите: http://mysite.local/eshop/catalog.php
•Перейдите по ссылке в корзину и убедитесь в корректности вывода. В случае ошибок, найдите их и исправьте
Модуль 9. Интернет-магазин Стр.110
