Показать сообщение отдельно
  #12 (permalink)  
Старый 10.10.2016, 22:06
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Сообщение от porezon
просто в дальнейшем будет подключатся оплата, и если он будет менять в форме сумму
Клиент просто физически не сможет изменить сумму, если цену, как это и положено, определяет сервер. Клиент может только изменить товары в корзине.

Пусть у вас в таблице goods товары:

id - идентификатор товара, name - его наименование, price - цена товара.

Вы выводите на страницу форму так как я описал в примере. Выбранные товары, их идентификаторы, будут переданы серверу как массив, пусть POST['good'].

if($goods = array_diff(array_map('intval', $_POST['good']), [0])) {
    //массив не пуст, опустим проверку наличия таковых товаров в базе, хотя это нужно делать
    //пишем полученные gid товаров в таблицу заказов orders, привязывая их к oid заказа покупателя
    //если заказчик может редактировать свой выбор, то выбранное им определяется этой таблицей
}


Показать же сумму набранную по товарам (для простоты опускаем именование товаров, тем более мне не известно, что вообще делается у вас на сервере), это

$sql = 'SELECT SUM(price) total FROM goods WHERE id IN(SELECT gid FROM orders WHERE oid='.$order.')';

Последний раз редактировалось laimas, 10.10.2016 в 22:10.
Ответить с цитированием