на чём их всё же лучше делать ,на сессиях или MySql.
Две недели колдовал, эадача была такая.
Карзина
1.прибавлять артикель
2.показывать сумму
3.показывать общую сумму всех заказов.
4.изменять в корзине количество заказов и выводить результат.
5. при подтверждении записывать в БД.
------------------------------------------------
Всё это проделал на сессиях.
1-сначало создавал массив
2-вносил в масив даные из артикля.
3-записывал результат в сессию.
если прибавлял товар то вносил в сессию и общий результат.
в блоке карзина выводил с кнопкой удалить то или иное.
-------------------------------------
Хочу ещё сказать что структура в MySql товара такова.
Таблица представляют из себя имена категорий и в каждой категории
имена полей , это имена артиклей.
Так что фишка использовать ID товара в сессии не прокатывала, так как ID
могли совпадать.
Использовал имена артиклей, так как они действилено уникальны.
Может я и ошибаюсь с методом но пока что для меня это доступней в понимании.
------------------------------
Прошу высказать своё мнение по поводу ,что же удобней с сессиями или MySql .
Лично я пришол к выводу что с MySql проще, не надо так много кода, массивов,
редактирования этих массивов.
С MySql -записал в временную таблицу Юзера заказ, редактировать проще простого.
Выводить результат ещё проще чем в сессии.
А как по вашему?
Спустя 4 минуты, 49 секунд (19.02.2011 - 00:04) Snus написал(а):
Куки.
Спустя 1 час, 46 минут, 18 секунд (19.02.2011 - 01:50) sebastjan написал(а):
Цитата (Snus @ 18.02.2011 - 21:04) |
Куки. |
Та с куки это та же канитель с массивами.
вот небольшой мой пример на сесси,не доработанный правда
<?
session_start();
header("Content-Type: text/html; charset=utf-8");
echo "<form action='list.php' method='post'>
<input name='id' value='NAME_AAAA' type='hidden'/> :Name Artikel
kolicestvo<input name='kol' type='text' size='3' value='1' maxlength='5'/>
<input name='preis' value='6' type='hidden'/> :Preis 6 eu 1xSt.
<input name='ok' value='ok' type='submit' /><br/><br/>
</form>
<form action='list.php' method='post'>
<input name='id' value='NAME_BBB' type='hidden'/> :Name Artikel
kolicestvo<input name='kol' type='text' size='3' value='1' maxlength='5'/>
<input name='preis' value='6' type='hidden'/> :Preis 6 eu 1xSt.
<input name='ok' value='ok' type='submit' /><br/><br/>
</form>";
////////////////////////////////
if(isset($_POST['ok']))
{#if1
$nn=$_POST['id'];
global $in;
$in=array();
$in[0]=$_POST['id'];
$in[1]=$_POST['preis'];//kolicestvo
$in[2]=$_POST['kol'];
$in[3]=$_POST['preis'];
$_SESSION['all_sum']+=$in[3];
$_SESSION[$nn]=serialize($in);//zapis v sessiju['id'] massiva $kart
foreach($_SESSION as $key=>$value)
{//$foreach
global $in;
if($key=='all_sum'){$new_all=$value;}
else
{
$in=unserialize($value);//izvlecenie iz sessii ['id'] massiva kart
list($name, $preis, $stuk, $summa) = $in;
echo "<form action='list.php' method='post'>";
echo $name." - ". $preis. "EU Stuk".$stuk. " Preis = ".$preis*$stuk."EU
<input name=\"inputname\" value='{$key}' type='hidden'/>
<input name='{$key}' value='{$key}' type='hidden'/>
<input name='del' value='lцschen' type='submit'/></form><br>";
}
}//$foreach
echo "<hr>".$new_all;
// print_r($_SESSION);
}#if1
///////////////////////////////////////////////////////////////////
if(isset($_POST['del']))
{#3
$dd=$_POST[$_POST['inputname']];
unset($_SESSION[$dd] );
foreach($_SESSION as $key=>$value)
{//$foreach
global $in;
if($key=='all_sum')
{#if2
$new_all=$value;
}#if2
else
{#else1
$in=unserialize($value);//izvlecenie iz sessii ['id'] massiva kart
list($name, $preis, $stuk, $summa) = $in;
echo "<form action='list.php' method='post'>";
echo $name." - ". $preis. "EU Stuk".$stuk. " Preis = ".$summa=$preis*$stuk."EU
<input name=\"inputname\" value='{$key}' type='hidden'/>
<input name='{$key}' value='{$key}' type='hidden'/>
<input name='del' value='lцschen' type='submit'/></form><br>";
}#else1
}//$foreach
echo "<hr>".$new_all;
//print_r($_SESSION);
}#if3
?>
Как мне кажеться реализация с Mysql в два раза короче и проще.
Какое ваше мнение?
Спустя 39 минут, 57 секунд (19.02.2011 - 02:30) inpost написал(а):
sebastjan
В итоге будет переполнение данных, это 1, а второе - как ты свяжешь с БД пользователя, который просто перегрузил компьютер?
В итоге будет переполнение данных, это 1, а второе - как ты свяжешь с БД пользователя, который просто перегрузил компьютер?
Спустя 13 минут, 49 секунд (19.02.2011 - 02:44) sebastjan написал(а):
Цитата (inpost @ 18.02.2011 - 23:30) |
sebastjan В итоге будет переполнение данных, это 1, а второе - как ты свяжешь с БД пользователя, который просто перегрузил компьютер? |
Ну так я понимаю что и при обрыве связи сессия улетает если без куки.
А какое же переполнение, это в лучшем случаи 20 покупателей одновременно делают заказ, да и то это фантастическое количество покупателей для магазина средненького.
А при уходе покупателя временная таблица будет удаляться и сам результат уже пропимываться в таблицу пользователя.
Я наверное не уточнил, имел ввиду использовать временную таблицу как карзину для покупателя.
Схема которую я представляю такова.
1-юзер логиниться и открываеться сессия в которой прописанн индификатор этого юзера.
2-делает заказ и тут создаёться таблица с именем юзера ил иным индификатором.
3-запись в таблицу и т.д.
Юзер открыл карзину, из таблицы вывод, редактирование, удаленик и т.д.
Юзер подтвердил, тогда запись в его личную таблицу и удаление временной.
Ну наверное так.
Спустя 44 минуты, 37 секунд (19.02.2011 - 03:28) inpost написал(а):
sebastjan
Ты всеми путями и не путями пытаешься отказаться от кук лишь по той причине, что мне подсказывает, что ты их просто боишься, хотя они один в один как сессии. Поэтому советую сделать именно на кукисах, а создавать таблицы - любой дурак сможет =)
Ты всеми путями и не путями пытаешься отказаться от кук лишь по той причине, что мне подсказывает, что ты их просто боишься, хотя они один в один как сессии. Поэтому советую сделать именно на кукисах, а создавать таблицы - любой дурак сможет =)
Спустя 7 минут, 18 секунд (19.02.2011 - 03:36) sebastjan написал(а):
Цитата (inpost @ 19.02.2011 - 00:28) |
sebastjan Ты всеми путями и не путями пытаешься отказаться от кук лишь по той причине, что мне подсказывает, что ты их просто боишься, хотя они один в один как сессии. Поэтому советую сделать именно на кукисах, а создавать таблицы - любой дурак сможет =) |
Да, правы я очень слабо пока знаком с куки, потому и боюсь даже обсуждать
пока не наберусь знаний.
Хорошо бы где нибудь немного подсмотреть хоть маленький пример карзины на куки.
Везде или сесии или Mysql
Спустя 45 минут, 18 секунд (19.02.2011 - 04:21) inpost написал(а):
$_SESSION['корзина'] - это массив, можно его серилизовать и добавлять, можно просто хранить в одной сессии через запятую id, да множество путей. Между сессией и кукисами разницы никакой, вообще никакой, просто сам код стоит почитать, как добавляется товар в сессию.
А насчет нигде нету - это и понятно, гомно не жалко, а ценностями не делятся, ты не найдешь чистого хорошего видео чата бесплатно, или урока о том, как проходит ренжировка в гугле, зато как разбить разделы на категории и подкатегории - тут миллионы Поповых =)
А насчет нигде нету - это и понятно, гомно не жалко, а ценностями не делятся, ты не найдешь чистого хорошего видео чата бесплатно, или урока о том, как проходит ренжировка в гугле, зато как разбить разделы на категории и подкатегории - тут миллионы Поповых =)
Спустя 10 часов, 40 минут, 18 секунд (19.02.2011 - 15:01) sebastjan написал(а):
Цитата (inpost @ 19.02.2011 - 01:21) |
$_SESSION['корзина'] - это массив, можно его серилизовать и добавлять, можно просто хранить в одной сессии через запятую id, да множество путей. Между сессией и кукисами разницы никакой, вообще никакой, просто сам код стоит почитать, как добавляется товар в сессию. А насчет нигде нету - это и понятно, гомно не жалко, а ценностями не делятся, ты не найдешь чистого хорошего видео чата бесплатно, или урока о том, как проходит ренжировка в гугле, зато как разбить разделы на категории и подкатегории - тут миллионы Поповых =) |
Ну вот ,благодаря вам - за что и спасибо, про добавление через запятую в массив.
Как то не доходило....
Делал сложне, формировал сначало массив, потом грузил его в массив сесси.
По вашему это проще через запятую [id, количество, цена]=сумма
А что за тема про Попова, как то везде с заметным сарказмом об этом?
извеняюсь - за флуд.
Просессиии и куки немного с вами не соглашусь, это правда что сессии и куки массивы,
только куки вроде как на стороне клиента делают файл и пхп их читает и делоет то или это.
А сессии-файлы делаються на сервере.