Введение в программирование на PHP5


Обновление корзины покупателя - часть 2


$OrderItem = substr($key,1); $OrderQuantity = $value;

Мы знаем, что код продукта, связанный с полем количества, содержится в переменной $key. Фактически это будут шесть правых символов имени поля. Поэтому эти шесть символов извлекаются из переменной с помощью функции PHP substr() и помещаются в переменную $OrderItem. Затем значение переменной $value, связанное с этим полем, присваивается переменной $OrderQuantity. Теперь у нас есть два фрагмента информации, необходимых для обновления поля $ItemQuantity этого продукта в таблице ShopCart.

Прежде чем обновлять количество продукта, необходимо проверить, что заказчик ввел число. В поле можно случайно ввести недействительный символ. Поэтому для $OrderQuantity выполняется числовая проверка.

if (is_numeric($OrderQuantity)) { }

Если в поле находится что-то отличное от числа, то обновление количества для этого продукта пропускается и происходит обращение к следующему полю формы.

Количества, присланные с помощью формы, могут представлять дополнительные купленные количества, или они могут иметь значение 0, указывающее, что товар удален из корзины покупателя. Это значение проверяется, и выполняется один из двух операторов SQL.

if ($OrderQuantity == 0) { $sqlCartUpdate = "DELETE FROM ShopCart WHERE OrderNo=' $_SESSION[OrderNo]' AND OrderItem='$OrderItem'"; }

else { $sqlCartUpdate = "UPDATE ShopCart SET OrderQuantity='$OrderQuantity' WHERE OrderNo='$_SESSION[OrderNo]' AND OrderItem='$OrderItem'"; }

$rsCartUpdate = odbc_exec($sqlCartUpdate,$conn2);

В случае удаления или обновления, действие применяется к записи ShopCart с полем OrderNo соответствующим текущему $_SESSION[OrderNo], и с полем $OrderItem соответствующим $OrderItem из отправленной формы. Оператор DELETE удаляет из таблицы всю запись; оператор UPDATE изменяет поле $OrderQuantity в таблице на значение $OrderQuantity из отправленной формы.

Сценарий выполняет итерации по всем позициям, отправленным через форму, проверяя имя поля на наличие символа "Q". Если символ найден, то из имени извлекается код продукта и присваивается вместе со значением количества переменным, которые используются при обновлении таблицы ShopCart. После завершения обработки массива $_REQUEST[] соединение с базой данных закрывается и сценарий заканчивается.




Начало  Назад  Вперед



Книжный магазин