Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Временные базы даных !

Сообщения:  [1-10]    [11-20]  [21-22] 

 
 автор: cheops   (19.04.2005 в 21:45)   письмо автору
 
   для: gwest   (19.04.2005 в 16:50)
 

>Так не канает и вообще SQL синтаксис дружит с переменными
>PHP?
Да, но следует помнить, что $sid - это строка и её следует заключать в одиночные кавычки
"select * from table1 where value>0 and sid='$sid'"

   
 
 автор: cheops   (19.04.2005 в 21:43)   письмо автору
 
   для: gwest   (19.04.2005 в 16:50)
 

Хм... Так получается что для каждого компа есть свой
>идентификатор сессии и если я зайду на сайт, допустим через
>месяц то номер не изменится?
>А это случайно с куками не как не связано?
Нет не совсем так, идентификатор назначается каждый раз разный (именно поэтому нужна авторизация для зарегистрированных пользователей) и действует этот идентификатор только на одну сессию (пока посетитель не выключит браузер)

   
 
 автор: cheops   (19.04.2005 в 21:40)   письмо автору
 
   для: gwest   (19.04.2005 в 16:15)
 

>Ага понял это функция session_id();
>Хотелось бы узнать зачем нужна константа SID;
session_id() и SID возвращают одну и ту же величину.

   
 
 автор: gwest   (19.04.2005 в 16:50)   письмо автору
 
   для: 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 в 16:15)   письмо автору
 
   для: gwest   (19.04.2005 в 15:30)
 

Ага понял это функция session_id();
Хотелось бы узнать зачем нужна константа SID;

   
 
 автор: gwest   (19.04.2005 в 15:30)   письмо автору
 
   для: cheops   (19.04.2005 в 00:08)
 

Спосибо!
Можно по подробнее что такое идентификатор сессии?
А id_client в моем случае не нужен (нет регистрации) =)

   
 
 автор: cheops   (19.04.2005 в 00:08)   письмо автору
 
   для: 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 - недостаток: корзина разрушается при закрытии окна браузера.

   
 
 автор: gwest   (18.04.2005 в 16:07)   письмо автору
 
   для: 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-ю таблицу записывается название товара, количество и этот номер (следовательно нужно как то изменить таблицу), потом когда он оставляет свои данные то там тоже должно записываться это значение. А с выводом информации уже проще.
Дак вот именно как это сделать я и не знаю! (Есть предположение что надо использовать первичные и внешние клучи).
Еще раз извините за глупые вопросы =)

   
 
 автор: cheops   (18.04.2005 в 13:35)   письмо автору
 
   для: gwest   (18.04.2005 в 13:19)
 

А нет вы зря каждый раз для каждого покупателя создаёте и уничтожаете таблицу - это слишком накладно. Обычно создают одну таблицу на всех и вводят поля для первичного ключа покупателя, поэтому когда необходимо извлечь товары для конретного покупателя достаточно указать WHERE id_user=1234, где 1234 - уникальный идентификатор покупателя (первичный ключ). Записи можно удалять только по требованию покупателя или при оформлении покупки, в этом случае можно добится эффекта как на Ozone - приходишь через пол года, а у тебя в корзине лежат не купленные пол года назад товары - хочешь выкидываешь, хочешь покупаешь...

   
 
 автор: gwest   (18.04.2005 в 13:19)   письмо автору
 
   для: cheops   (16.04.2005 в 12:02)
 

Как же быть ? Что делать?
А в интернет магазинах корзина это временная таблица или простая таблица, которая создается, а потом удаляется. Я то приследую задачу создать корзину ?

   

Сообщения:  [1-10]    [11-20]  [21-22] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования