Программирование => PHP => Тема начата: от 24 Января 2002, 10:50:16
Название: Интернет магазин на PHP+MySQL. Подскажите алгорим работы корзины?!
Отправлено: от 24 Января 2002, 10:50:16
Выводится список товаров, около каждого есть checkbox name=id value=[номер товара из MySQL], ну и внизу кнопка submit.
Как мне организовать, чтобы в сессию положились номера всех товаров. Получается надо чтобы у первого товара переменная была ID у второго уже ID1 и т.д. или это как-то по другому надо делать?
Ну и соответсвенно как опять же всё это дело достать из сессии, при обращении к корзине?
Название: Интернет магазин на PHP+MySQL. Подскажите алгорим работы корзины?!
Отправлено: Макс от 24 Января 2002, 13:26:05
во-первых checkbox name=id[] value=[номер товара из MySQL] то есть id - должен быть массивом.
Цитировать
Как мне организовать, чтобы в сессию положились номера всех товаров.
session_register(\'id\');
Цитировать
Ну и соответсвенно как опять же всё это дело достать из сессии, при обращении к корзине?
Название: Интернет магазин на PHP+MySQL. Подскажите алгорим работы корзины?!
Отправлено: AlieN от 24 Января 2002, 14:43:54
Я бы всё сделал не через сессии а через куки тогда всё элементарно
Название: Интернет магазин на PHP+MySQL. Подскажите алгорим работы корзины?!
Отправлено: Britva от 24 Января 2002, 15:05:16
Цитировать
Я бы всё сделал не через сессии а через куки тогда всё элементарно
хм, чем элементарней? сессии и так используют куки (если они включены у юзера)
Название: Интернет магазин на PHP+MySQL. Подскажите алгорим работы корзины?!
Отправлено: от 24 Января 2002, 16:10:09
Макс Спасибо всё заработало!
Britva
Цитировать
хм, чем элементарней? сессии и так используют куки (если они включены у юзера)
Это точно, а что AlieN предложил я не совсем понял...
Дальше у меня ещё такой вопрос возник. Я вывожу содержание корзины, запрос к mysql типа WHERE id=$val.
Функция все-тажа, которая и просто список товаров выводит, только теперь checkbox должен играть роль удаления. Отмеченные пункты (id) надо убрать из массива в сессии. Как это можно осуществить?
Название: Интернет магазин на PHP+MySQL. Подскажите алгорим работы корзины?!
Отправлено: DRon от 24 Января 2002, 17:26:17
Макс А ещё фигня получается, что после первого внесения нескольких ID в сессию, больше внести не получается...
Название: Интернет магазин на PHP+MySQL. Подскажите алгорим работы корзины?!
Отправлено: Макс от 25 Января 2002, 00:39:17
По поводу удаления: То же чекбоксы оформляешь как массив, только с именем другим dels[] например. тогда $id=array_diff($id,$dels);
Цитировать
А ещё фигня получается, что после первого внесения нескольких ID в сессию, больше внести не получается...
Совсем ничего или только id товара не добавляется? Скорее всего дело в том что после внесения нескольких id в сессию массив id уже существует и последующие добавления нужно делать уже либо c с помощью конструкций типа $id[N]=$id_товара или с помощью array_push() (наверное при открытии сессии стоит сразу записать в нее пустой массив: $id=array(); session_register(\'id\'); и потом добавлять в этот массив ID добавляемых в корзину товаров.
А если вообще ничего не вносится, то покажи код и содержимое сессионных файлов после первого добавления и после второй попытки добавить что-то в сессию
Название: Интернет магазин на PHP+MySQL. Подскажите алгорим работы корзины?!
Отправлено: AlieN от 25 Января 2002, 17:20:24
Удаляешь элементарно: Каждому элементу корзины присваиваешь имя tovar Когда идёт запрос на удаление while(list($key,$val) = each($temparray)) { list($tempname, $tempval) = explode("=", $val); if($tempname=="tovar"){$tovar[]=urldecode($tempval);} } for($i=0;$i
Название: Интернет магазин на PHP+MySQL. Подскажите алгорим работы корзины?!
Отправлено: DRon от 29 Января 2002, 09:15:40
Макс Наконец-то смог проверить все, и вот что получается:
Цитировать
покажи код и содержимое сессионных файлов после первого добавления и после второй попытки добавить что-то в сессию
эти строки стоят вверу index.php: unset($id); session_start();
получается что в сессию записывается только последний элемент, и он всегда перезаписывается, т.е. щас 3ий, выберу 2ой он вместо 3го запишется: id|a:1:{i:0;s:1:"3";}
======
Также у меня получилось сделать чтобы заносилось сразу несколько элементов, тогда $id=array(); , я выносил из цикла for и ставил его перед функций добавления, но остаётся всё таже проблема занес я 3 элемента, зашел заново на выбор товара выбрал ещё парочку, и они заносятся вместо тех трех.
сессия выглядит вот так: id|a:2:{i:0;s:1:"2";i:1;s:1:"3";}
Название: Интернет магазин на PHP+MySQL. Подскажите алгорим работы корзины?!
Отправлено: Britva от 29 Января 2002, 12:30:37