Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > запись в куки всего стобца


Автор: Shark 13.3.2009, 14:51
Код

$resu=mysql_query("SELECT * FROM tbl_name") or die (mysql_error());
while($res=mysql_fetch_array($resu))
    {
        $timestamp=time();
        setcookie('user', $res['user'], strftime($timestamp));        
    }


я думал, что так можно записать в куки с именем user весь столбец user из БД.. но так не работает. Подскажите, как это оформить?

Автор: MoLeX 13.3.2009, 14:58
Цитата(Shark @  13.3.2009,  14:51 Найти цитируемый пост)
записать в куки с именем user весь столбец user из БД

эм.. т.е. всех пользователей из БД записать в куку?

Автор: lelik133 13.3.2009, 15:07
а зачем...?

Автор: MoLeX 13.3.2009, 15:09
Цитата(lelik133 @  13.3.2009,  15:07 Найти цитируемый пост)
а зачем...? 

это не главное. главное что-бы не больше 4 кб(!) было данных

Автор: lelik133 13.3.2009, 15:37
про 4к понятно это физическое ограничение, не понятна логика. скорее всего это далеко не оптимальный путь решения задачи, поэтому и спросил

Автор: NNaarreekk 13.3.2009, 18:28
Цитата(lelik133 @  13.3.2009,  17:37 Найти цитируемый пост)
скорее всего это далеко не оптимальный путь решения задачи

Может чтоб каждый раз к базе не обращаться?

Автор: Shark 13.3.2009, 20:09
да не , вы не поняли...
мне нужно сделать, чтоб пользователю показывали сообщения, которые появились на форуме в момент, когда его не было...

а это, чтоб в куки были все темы, время последнего поста и время последнего просмотра этого поста(темы) пользователем, или это можно как-то подругому решить?

Автор: enof 13.3.2009, 23:32
Цитата(Shark @  13.3.2009,  20:09 Найти цитируемый пост)
мне нужно сделать, чтоб пользователю показывали сообщения, которые появились на форуме в момент, когда его не было...

сохраняете метку со временем, когда был последний раз пользователь, и при новом посещении выдаете ему все, что появилось позже этой метки.
Цитата(Shark @  13.3.2009,  20:09 Найти цитируемый пост)
чтоб в куки были все темы, время последнего поста и время последнего просмотра этого поста(темы) пользователем, или это можно как-то подругому решить?

 smile  вы сами-то себе это как представляете?

Автор: Shark 14.3.2009, 00:37
Цитата

  вы сами-то себе это как представляете?

ну так, что создает 3 куки с нужными мне даннымиsmile...
а если серьезно, то если таким способм сделать нельзя, то я не представляю как это можно сделать.
что касается метки, я делал, но она работала для одного полтьзователя... другими словами было так... в БД заносилось время последнего поста, и если оно было времени последнего просмотра темы, в которой этот пост, то показывалось, что оно новое, НО... эта система не правильная, т.к. если на форуме 2 человека и один просмотрел эту тему, то другому уже покажется что он ее смотрел, а на самом деле не так.

Как сделать правильно? я не знаю :(

Автор: enof 14.3.2009, 00:43
Shark
У каждого поста/темы есть время добавления/обновления. У каждого человека есть время последнего посещения темы.
Выбираем посты которые появились позже последнего посещения и все.
Цитата(Shark @  14.3.2009,  00:37 Найти цитируемый пост)
если на форуме 2 человека и один просмотрел эту тему, то другому уже покажется что он ее смотрел, а на самом деле не так.

 smile  у каждого человека свое 

Автор: Shark 14.3.2009, 00:47
enof
Цитата

У каждого человека есть время последнего посещения темы.

получается, что мне надо создать еще одну таблицу вида:
Код

id_user | user_name | last_view_topic | topic

и сюда заносить данные о просмотре, а потом просто сравнивать?

Автор: enof 14.3.2009, 00:49
id_user | topic | last_view

Автор: Shark 14.3.2009, 00:57
enof, а это самый оптимальный вариант или есть еще варианты?

Автор: enof 14.3.2009, 01:13
Shark, я сказал, как бы сделал, а насчет оптимальности не знаю  smile 

Автор: Shark 14.3.2009, 01:34
enof, хорошо, спасибо... алгоритм уже сам напишу..
Вопрос закрыт... тебе "+"

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)