[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Массив в базе данных
ftore
Есть один скриптик Корзинки. В нем я реализовал так что сессия ползователя сохраняется в базе данных.
В базе данных есть таблица session_variable. В нем сохраняются васе переменные сессии. А переменную сесси
можно создать следующим образом:
$mysession->var="somevar";
Я хочу создать массив типа $mysession->cart[$good_id]=$qty;,
но у меня не получается, в безе получается такая запись:
a:r:{}. Есть у кого нибудь идеи по этому поводу?



Спустя 2 часа, 31 минута, 10 секунд (11.08.2007 - 15:31) Sinkler написал(а):
Цитата(ftore @ 11.8.2007, 14:00) [snapback]25686[/snapback]
Есть один скриптик Корзинки. В нем я реализовал так что сессия ползователя сохраняется в базе данных.
В базе данных есть таблица session_variable. В нем сохраняются васе переменные сессии. А переменную сесси
можно создать следующим образом:
$mysession->var="somevar";
Я хочу создать массив типа $mysession->cart[$good_id]=$qty;,
но у меня не получается, в безе получается такая запись:
a:r:{}. Есть у кого нибудь идеи по этому поводу?

Ключ пробовал записывать в одну колонку, значения - в другую? Или ты так и делаешь? Непонятно...

Спустя 3 часа, 13 минут, 20 секунд (11.08.2007 - 18:44) ftore написал(а):
Цитата(Sinkler @ 11.8.2007, 17:31) [snapback]25687[/snapback]
Цитата(ftore @ 11.8.2007, 14:00) [snapback]25686[/snapback]
Есть один скриптик Корзинки. В нем я реализовал так что сессия ползователя сохраняется в базе данных.
В базе данных есть таблица session_variable. В нем сохраняются васе переменные сессии. А переменную сесси
можно создать следующим образом:
$mysession->var="somevar";
Я хочу создать массив типа $mysession->cart[$good_id]=$qty;,
но у меня не получается, в безе получается такая запись:
a:r:{}. Есть у кого нибудь идеи по этому поводу?

Ключ пробовал записывать в одну колонку, значения - в другую? Или ты так и делаешь? Непонятно...

session_variable состоит из id, session_id, variable_name, variable_value. session_id это внешний ключ
к таблице user_session. Можно данные в таком виде в таблице хранить:

1| 23 | cart | 2=>4, тогда 1 будет id, 23- session_id, cart- session_variable, и '2=>4' good_id и $qty. Только в таком случае нужно будет через функцию explode разделять good_id от quantity, и потом обрабатывать эти данные. Не повлияетли это на производительность, и есть ли другое решение?

Спустя 15 минут, 4 секунды (11.08.2007 - 18:59) ftore написал(а):
И да кстати можно данные в поле variable_value можно хранить в виде XML, тогда надо вытаскивать данные из бази и ктому же парсить данные в виде XML. В таком случае то же надо много ...батся.....

Спустя 1 час, 13 минут, 21 секунда (11.08.2007 - 20:13) Sinkler написал(а):
А если создать столбец для гуд_ай-ди и для кью-ти-уай потом при выборке воссоздавать массив, хотя версия с эксплойдом мне не кажется плохой. Не думаю, что быстрота упадет. В любом случае - или два столбца или эксплойд, попробуй сравнить производительность.

Спустя 17 минут, 46 секунд (11.08.2007 - 20:31) ftore написал(а):
Цитата(Sinkler @ 11.8.2007, 22:13) [snapback]25698[/snapback]
А если создать столбец для гуд_ай-ди и для кью-ти-уай потом при выборке воссоздавать массив, хотя версия с эксплойдом мне не кажется плохой. Не думаю, что быстрота упадет. В любом случае - или два столбца или эксплойд, попробуй сравнить производительность.

Таблицу отдельную можно создать, но для того что бы знать четко, какой юзер положил в корзину, и что, надо добавить не только good_id и qty, но и user_id, session_id и многое другое...
Если бы я не хранил переменную сессии в базе, то можно было бы написать так: $_SESSION['cart'][$good_id]=$qty; и все... Но уже проделана много работ и возвращатся назад не очень хочется...
Но за идею все равно спосибо

Спустя 4 минуты, 51 секунда (11.08.2007 - 20:35) Patrick написал(а):
Var_export

Спустя 3 дня, 15 часов, 28 минут, 9 секунд (15.08.2007 - 12:04) Astraller написал(а):
На сколько я понял суть проблемы сводится к помещению в одну ячейку базы данных массива, тогда тебе надо поковырять:
serialize
unserialize


_____________
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.