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 :: Передача данных заказа из корзины в базу
Покинул форум
Сообщений всего: 15
Дата рег-ции: Окт. 2013
Помог: 0 раз(а)
Прошу совета!! Мой уровень - новичек.
Есть корзина, в ней формируется заказ, допустим несколько позиций, где разное количество и соответственно цена. Как можно данные из корзины поместить в базу и затем, например в админке, эти данные считать. Собственные мысли: занести данные заказчика это не проблема, например по id, взятая из сессии, через функцию пробежки по таблице пользователя. А вот как в одну таблицу еще поместить и заказ из корзины, да еще потом его вытащить в админку?
Наткнулся на один пример, где запись делается в одну ячейку таблицы, вот такого вида -
a:1:{i:1;a:2:{s:5:\"price\";s:3:\"299\";s:5:\"count\";i:1;}} , но что это и что с этим делать потом, не ясно.
Очень прошу, если кто может помогите - помогите.
Думаю, это будет многим интересно, так как в сети, доступной информации не нашел.
esterio
Отправлено: 23 Октября, 2013 - 22:02:25
Активный участник
Покинул форум
Сообщений всего: 5025
Дата рег-ции: Нояб. 2012 Откуда: Украина, Львов
Покинул форум
Сообщений всего: 15
Дата рег-ции: Окт. 2013
Помог: 0 раз(а)
спасибо, что отозвались. не совсем для меня понятно - unserialize. Описание прочитал, но не совсем понятно.
esterio
Отправлено: 23 Октября, 2013 - 22:07:09
Активный участник
Покинул форум
Сообщений всего: 5025
Дата рег-ции: Нояб. 2012 Откуда: Украина, Львов
Помог: 127 раз(а)
а что там может быть не так. Ето сериализированые данные. Тоесть любые данные можна представить в строковом виде, а потом обратно превратить в ети саммые данные
AYRON
Отправлено: 23 Октября, 2013 - 22:12:48
Новичок
Покинул форум
Сообщений всего: 15
Дата рег-ции: Окт. 2013
Помог: 0 раз(а)
Схема понятна. понятно, что данные преабразуются в страку, а потом обратно,.....если можно простенький пример или ссылку на пример., что бы уже понять наглядно.....
esterio
Отправлено: 23 Октября, 2013 - 22:16:40
Активный участник
Покинул форум
Сообщений всего: 5025
Дата рег-ции: Нояб. 2012 Откуда: Украина, Львов
Покинул форум
Сообщений всего: 15
Дата рег-ции: Окт. 2013
Помог: 0 раз(а)
Спасибо. (Добавление)
Буду разбираться...
AYRON
Отправлено: 24 Октября, 2013 - 22:58:24
Новичок
Покинул форум
Сообщений всего: 15
Дата рег-ции: Окт. 2013
Помог: 0 раз(а)
Без использования базы все получается с serialize и unserialize.
Может, кто сможет подсказать, как правильно добавить данные после преобразования в serialize в базу, таблицу. И если не трудно, обратно их вытащить. Очень надо. Не спал всю ночь, под утро заснул и искал решение в голове - как результат опоздал на работу.
keysi_
Отправлено: 24 Октября, 2013 - 23:13:37
Новичок
Покинул форум
Сообщений всего: 17
Дата рег-ции: Окт. 2009
mysql_query("INSERT INTO user (id,text) VALUES ('1',$text )");
$id= insert_id();
if($id)
{
echo"Добавлено в таблицу";
}
else
{
echo"Ошибка при добавлении";
}
он не работает... (Добавление)
Где-то прочитал, что так удобней хранить напримаер данные из корзины интернет-магазина.
Вот и заморочился. (Добавление)
не совсем понял - в кавычки полагается брать строковые данные а не целые, (Добавление)
caballero пишет:
в кавычки полагается брать строковые данные а не целые
а вообще хранить это в Бд в сериализованном виде - глупо
что значит брать в ковычки строковые данные, а не целые? (Добавление)
немного поменял код, но все равно не работает
$result=mysql_query("INSERT INTO user (text) VALUES ($text)");
if($result)
{
echo"Добавлено в базу";
}
else
{
echo"Ошибка...";
}
В таблице две строки - id и text. Где я ошибаюсь? (Добавление)
не добавляется (Добавление)
Сам нашел ошибку $text, нода заключить было в одиночные ковычки, так как сама это переменная, подразумевает строку.
теперь буду стараться вытащить данные их базы и вернуть их в начальное состояние.
caballero
Отправлено: 25 Октября, 2013 - 00:15:09
Активный участник
Покинул форум
Сообщений всего: 5998
Дата рег-ции: Сент. 2011 Откуда: Харьков
$result=mysql_query('INSERT INTO `user` (`text`) VALUES ("'.$text.'")');
Потому что я не зря взял ваши сериализованные данные в кавычки.Надо учитывать что в Mysql улетает чистый текст а не переменная и поэтому кавычки внутри текста воспринимаются как конструкции sql
И желательно любой текст предварительно обработать функцией mysql_real_escape_string();
И, напишите, ошибку которую возвращает sql, сложно разбираться почему у вас ни чего не работает на основе догадок.
AYRON
Отправлено: 25 Октября, 2013 - 17:51:27
Новичок
Покинул форум
Сообщений всего: 15
Дата рег-ции: Окт. 2013
Помог: 0 раз(а)
спасибо, что не оставляете меня одного плавать в море информации. Код переделал (как умею, напомню, что это просто для пробы), он у меня работает -
Но возникла новая проблема, как $еуче передать через форму. Пробовал, не получается, ошибки не выдает, но в ячейку записывается, как $text и уже unserialize не потдается. Какое может быть решение, в какую сторону искать ответа? (Добавление)
Как передать данные в serialize через $_post?
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.