Сесии. Добавление нескольких значений.

Vetalich

Guest
Сесии. Добавление нескольких значений.

Доброго времени суток!
У меня вот какой вопрос:
Я значит решил сделать небольшой магазин на PHP+MySQL.
Соответственно имеется список товаров с кнопкой "Добавить товар в корзину"...
и мне надо добавить эти товары в сессию вот в таком виде:
------------
id - 3
наименование - Расплата.
цена - 50 рублей.
имя категории - Боевики
номер категории - 1
------------
я делал вот так вот:
$_SESSION['id_prod']="$id_prod";
$_SESSION['name_prod']="$name_prod";
$_SESSION['money_prod']="$money_prod";
$_SESSION['name_cat']="$name_cat";
$_SESSION['quantity_prod']="$quantity_prod";
------------
но когда я пытаюсь добавить второй товар сессия перезаписываеться,
а мне наоборот надо не перезаписывать, а добавлять в неё записи чтобы при выводе корзины в ней был список покупок...
В интернете искал что нибудь по этому поводу, но везде простые примеры и они мне не подходят.

Так вот не могли бы вы подсказать как мне сделать правильное добавление товаров в сессию и потом прочитать всё это...
 

SiMM

Новичок
Массивы бывают многомерными...
PHP:
$_SESSION['korzina'][$id_prod] = array('name_prod' => $name_prod,
                                       'money_prod' => $money_prod,
                                       'name_cat' => $name_cat,
                                       'quantity_prod' => $quantity_prod);
PS: совет - изучи базовый синтаксис - ни к чему там твои двойные кавычки.
 

Фанат

oncle terrible
Команда форума
но когда я пытаюсь добавить второй товар сессия перезаписываеться,
а чего ж ты ожидал?
и при чем здесь сессия, если ты просто перезаписываешь значение переменной $_SESSION['id_prod']?

Сессии тут не при чем.
Для начала потренируйся на простых массивах, не сессионных.
Ты в курсе того, что массивы бывают многомерными?
 

Huckster

Guest
Интересно, а Вы что-то другое ожидали?
Пишете:

$a=1;
$a=2;

А потом возмущаетесь, что в скалярной переменной $a значение только одно - 2. Магазин хотите написать, а скалярные переменные от массивов не отличаете.

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

-~{}~ 27.02.05 23:15:

Надо же, пока пост писал, уже двое успели :(
 

Vetalich

Guest
Автор оригинала: Huckster
Магазин хотите написать, а скалярные переменные от массивов не отличаете.
да я собственно PHP учу на практике...
а сессии только сёдня начал учить...
возможно щас буду пробовать пример "SiMM"...
(если из-за компа не выгонят :) )
 

Huckster

Guest
Да тут, ИМХО, дело не в PHP, а в общих основах программирования...
 

Vetalich

Guest
> Да тут, ИМХО, дело не в PHP, а в общих основах программирования...

что ты имеешь ввиду?
 

Фанат

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

впрочем, к делу это не относится.
 

Vetalich

Guest
Спасибо что подсказали... Работает :)
а теперь не подкажете как это всё вывести на экран...
т.е отдельно:
name_prod
money_prod
name_cat
quantity_prod
и всё вместе?
name_prod, money_prod, name_cat, quantity_prod
и изменить какое-то значение, например "quantity_prod".
 

Vetalich

Guest
как я уже говорил выше я учусь на практике и может быть я даже всёрьёз его использовать и не буду...
так что подскажите или нет...
 

GeT

Новичок
Vetalich
print_r($_SESSION['korzina'][$id_prod])

или
PHP:
foreach ($_SESSION['korzina'][$id_prod] as $name => $val)
echo $name."=>".$val;
И вообще, иди на RU.PHP.NET
Там стока фсего интересного =)
 

Kelkos

Сам себе программер
хех.. неплохой замах для новичка.. Кстати, корзину лучше организовать немного не так. Не стоит гонять названия.. имеет смысл держать только id товаров и количество. Хоотя.. глваное что бы работало.. Если будет желание могу дать несколько скриптов по работе с корзинкой. (теляй в почту.. ессно..)
 

GeT

Новичок
Kelkos
Да по моему мнению, вообще нужно корзину хранить в БД.
таблица "cart" (sess_id || item_id), воть.
 
Сверху