Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

php-2

.pdf
Скачиваний:
45
Добавлен:
23.03.2016
Размер:
3 Мб
Скачать
☆

•Откройте браузер и в адресной строке наберите: 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

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