|
|
|
|
|
для: gwest
(19.04.2005 в 16:50)
| | >Так не канает и вообще SQL синтаксис дружит с переменными
>PHP?
Да, но следует помнить, что $sid - это строка и её следует заключать в одиночные кавычки
"select * from table1 where value>0 and sid='$sid'"
|
| |
|
|
|
|
|
|
|
для: gwest
(19.04.2005 в 16:50)
| | Хм... Так получается что для каждого компа есть свой
>идентификатор сессии и если я зайду на сайт, допустим через
>месяц то номер не изменится?
>А это случайно с куками не как не связано?
Нет не совсем так, идентификатор назначается каждый раз разный (именно поэтому нужна авторизация для зарегистрированных пользователей) и действует этот идентификатор только на одну сессию (пока посетитель не выключит браузер) | |
|
|
|
|
|
|
|
для: gwest
(19.04.2005 в 16:15)
| | >Ага понял это функция session_id();
>Хотелось бы узнать зачем нужна константа SID;
session_id() и SID возвращают одну и ту же величину. | |
|
|
|
|
|
|
|
для: gwest
(19.04.2005 в 16:15)
| | Хм... Так получается что для каждого компа есть свой идентификатор сессии и если я зайду на сайт, допустим через месяц то номер не изменится?
А это случайно с куками не как не связано?
И еще как мне из таблицы вытащить те товары, которые принадлежат именно мне.
<?
session_id();
session_start();
$sid=session_id();
$sub=mysql_query("select * from table1 where value>0 and sid=$sid")
?>
|
Так не канает и вообще SQL синтаксис дружит с переменными PHP? | |
|
|
|
|
|
|
|
для: gwest
(19.04.2005 в 15:30)
| | Ага понял это функция session_id();
Хотелось бы узнать зачем нужна константа SID; | |
|
|
|
|
|
|
|
для: cheops
(19.04.2005 в 00:08)
| | Спосибо!
Можно по подробнее что такое идентификатор сессии?
А id_client в моем случае не нужен (нет регистрации) =) | |
|
|
|
|
|
|
|
для: gwest
(18.04.2005 в 16:07)
| | Таблицу table1, которая я как понимаю предназначена для корзины, следует снабдить дополнительными полями
create table table1(
id_subject int(6), \\порядковый номер товара
name_subject text, \\наименование
value text, \\кол-во
sid text, // идентификатор сессии
id_client int // уникальный номер клиента
)type=myisam;
|
в sid следует помещать идентификатор текущей сессии - он уникален в пределах сервера, а в id_client - уникальные номера, зарегистрированных посетителей. Тогда отличить товары зарегистрированных посетителей можно по id_client, а не зарегистрированных (им в id_client следует помещать NULL или 0) по sid.
PS Часто корзину вообще не хранят в таблице MySQL, а полностью сохраняют в $_SESSION - недостаток: корзина разрушается при закрытии окна браузера. | |
|
|
|
|
|
|
|
для: cheops
(18.04.2005 в 13:35)
| | Возможно мой вопрос покажется глупым, но что-то не получается!
Вопервых хотелось бы узнать какие примерно должны быть столбцы?
Допустим есть две таблицы 1-заносятся товары, 2-информация о покупателе
1-таблица
create table table1(
id_subject int(6), \\порядковый номер товара
name_subject text, \\наименование
value text \\кол-во
)type=myisam;
|
2-таблица
create table table2(
id_client int(6) not null auto_increment, \\порядковый номер (можно задать как первичный ключ)
name text, \\имя
tel text, \\телефон и т.д
primery key (id_client)
)type=myisam;
|
В чем собственно вопрос:
Сначала человек работает с товаром (добовляет, редактирует корзину) и только потом оставляет свои данные.
Регистрации на сайте нет то есть каждый раз человек должен оставлять информяцию о себе.
Вопрос:
1) Куда должен записываться товар во время его добавления в корзину. Ведь если он будет записываться в общую таблицу тогда следует как-то товары разделить.
Я так думаю что когда человек заходит на сайт ему присваивается какое-то значение, допустим 1, второму 2 и т.д. Когда человек выбирает товар в 1-ю таблицу записывается название товара, количество и этот номер (следовательно нужно как то изменить таблицу), потом когда он оставляет свои данные то там тоже должно записываться это значение. А с выводом информации уже проще.
Дак вот именно как это сделать я и не знаю! (Есть предположение что надо использовать первичные и внешние клучи).
Еще раз извините за глупые вопросы =) | |
|
|
|
|
|
|
|
для: gwest
(18.04.2005 в 13:19)
| | А нет вы зря каждый раз для каждого покупателя создаёте и уничтожаете таблицу - это слишком накладно. Обычно создают одну таблицу на всех и вводят поля для первичного ключа покупателя, поэтому когда необходимо извлечь товары для конретного покупателя достаточно указать WHERE id_user=1234, где 1234 - уникальный идентификатор покупателя (первичный ключ). Записи можно удалять только по требованию покупателя или при оформлении покупки, в этом случае можно добится эффекта как на Ozone - приходишь через пол года, а у тебя в корзине лежат не купленные пол года назад товары - хочешь выкидываешь, хочешь покупаешь... | |
|
|
|
|
|
|
|
для: cheops
(16.04.2005 в 12:02)
| | Как же быть ? Что делать?
А в интернет магазинах корзина это временная таблица или простая таблица, которая создается, а потом удаляется. Я то приследую задачу создать корзину ? | |
|
|
|
|