Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: Пользовательская корзина
Покинул форум
Сообщений всего: 5
Дата рег-ции: Май 2009
Помог: 0 раз(а)
Прошу помощи в написании пользовательской корзины.
8го июня диплом защищать и сказали, что обязательно должна быть пользовательская корзина.
Как я понимаю лучше всего её делать через массив $_SESSION но я не понимаю как он работает и как с ним работать.
У меня возникают вопросы как:
- Добавить товар в корзину.
- Изменить количество товара в корзине.
- Удалить товар из корзины.
- Добавить ещё товар, что бы первый товар не потерялся.
Помогите плиз) а то дипломку не защищу.
EuGen
Отправлено: 31 Мая, 2009 - 17:34:08
Профессионал
Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007 Откуда: Berlin
Помог: 707 раз(а)
Открою страшную тайну - если Вы допущены до защиты, то 100% защитите.
По теме - $_SESSION есть обычный суперглобальный массив. И работать с ним надо так же, как и с обычными массивами.
----- Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
supstarchik
Отправлено: 01 Июня, 2009 - 21:39:08
Новичок
Покинул форум
Сообщений всего: 5
Дата рег-ции: Май 2009
Помог: 0 раз(а)
вроде бы я осилил создание корзины/
Но не могу придумать как сделать подсчет стоимость товара и общую стоимость?
Покинул форум
Сообщений всего: 27
Дата рег-ции: Июнь 2009 Откуда: Россия, Москва
Помог: 0 раз(а)
Я бы поступил намного проще.
В $_SESSION был бы элемент goods ($_SESSION['goods']), который содержал бы в себе вложенные элементы, т.е. сами товары, которую опять таки в свою очередь содержали в себе два параметра - id и кол-во положенных в корзину товаров.
К примеру я заказал 3 футбольных мяча (id 1) и 2 пары футбольных перчаток (id 2), session будет выглядить так:
$_SESSION['goods'][0] - первый заказанный товар
$_SESSION['goods'][0][0] - id товара, т.е. 1
$_SESSOIN['goods'][0][1] - кол-во заказанного товара, т.е. 3
Аналогично с перчатками
$_SESSION['goods'][1][0] = 2
$_SESSION['goods'][1][1] = 2
Когда мы добавляем товар в корзину, считается кол-во элементов в массиве $_SESSION['goods'], сейчас у нас их там два, но т.к. счет в массивах идет с нуля, мы как раз получаем следующую свободную ячейку $_SESSION['goods'][2], куда мы запишем id товара и кол-во добавленного товара, например через $_POST.
Если пользователю нужно будет выйти, а нам сохранить его покупки в корзине, т.е. будет использовать функция session_destroy(), то естественно все данные потеряются, поэтому только после выхода пользователя придется записывать данные в БД, и стартовый массив мы получим после обратного захода пользователя.
Думаю идея понятна и осуществить ее будет несложно.
----- Рожденные ползать - везде пролезет.
supstarchik
Отправлено: 09 Июня, 2009 - 15:30:34
Новичок
Покинул форум
Сообщений всего: 5
Дата рег-ции: Май 2009
Помог: 0 раз(а)
Цитата:
Спасибо EuGen
Спасибо scray
Спасибо Neirol
Я понимаю, что мои познания в php ничтожно малы и прошу вас мне помочь написать непосредственно сам скрипт, что бы товар подсчитывался.
Я сделал так что ты товар записывался в бд каждый раз как его заносят в корзину
но я не знаю как сделать так что бы можно было делал пересчет товара и выводить нужную сумму.
Подсчет суммы можно сделать через внутреннею функцию(SUM), но для этого нужно данные занести в в бд и пересчитать.
Тогда встает вопрос как занести в бд n количество данных товара?
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.