X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

2 страниц V   1 2 >
Открыть тему
Тема закрыта
> UPDATE users себя и соседей
zabmix
zabmix
Topic Starter сообщение 22.4.2011, 6:42; Ответить: zabmix
Сообщение #1


Ребят, подскажите как решить одним запросом.

UPDATE users SET date = ".time().", online = 1 WHERE id = '$uid' LIMIT 1


UPDATE users SET online=0 WHERE date < ".time()-60." and online = 1


Суть: Обновляем запись текущего uid применив текущее время. Все у кого время обновления записи меньше от текущего на 60, то online=0
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
zabmix
zabmix
Topic Starter сообщение 22.4.2011, 11:20; Ответить: zabmix
Сообщение #2


Никто не сталкивался разве?
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Mulder_hb
Mulder_hb
сообщение 22.4.2011, 12:36; Ответить: Mulder_hb
Сообщение #3


Никак. Вы бы сами подумали сперва, что вы пытаетесь сделать. Мало того, вы не правильно спроектировали систему, если у вас подобные запросы происходят в одном скрипте.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
zabmix
zabmix
Topic Starter сообщение 22.4.2011, 19:00; Ответить: zabmix
Сообщение #4


что я пытаюсь сделать я уже давно продумал.
пользователь зашел на сайт, (online). если не заходил более 60 секунд offline. В примере все же понятно!
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Mulder_hb
Mulder_hb
сообщение 23.4.2011, 1:06; Ответить: Mulder_hb
Сообщение #5


(zabmix @ 22.4.2011, 22:00) *
что я пытаюсь сделать я уже давно продумал.

Вы пытаетесь назначить разные значения одному полю и при этом в where может стоять только одно условие. Как можно было так "продумать"?
(zabmix @ 22.4.2011, 22:00) *
пользователь зашел на сайт, (online). если не заходил более 60 секунд offline. В примере все же понятно!

В вашем примере, установка оффлайна будет запущена только если кто-нибудь кликнет на ссылку login, что в корне не верно. А если на сайт в течении часа никто не логинится? Скрипт установки оффлайна должен работать независимо от пользователя. Скрипт же установки онлайна должен зависеть от пользователя. Т.е. эти скрипты должны быть разнесены, а значит у вас и в мыслях не должно возникать идеи объединения запросов.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
zabmix
zabmix
Topic Starter сообщение 23.4.2011, 11:03; Ответить: zabmix
Сообщение #6


(Mulder_hb @ 23.4.2011, 04:06) *
...сайт в течении часа никто не логинится?

А где то писал про то что пользователь "логинится"?
эти запросы висят в Index.php к которому при любом клике/запросе будет выполнятся "этот запрос". Это как раз говорит о том что любой кто зайдет на сайт, и обновит статистику кто онлайн/оффлайн.

А запрос висит в самом начале, прямо после подключения к БД.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Apay
Apay
сообщение 23.4.2011, 12:01; Ответить: Apay
Сообщение #7


таймаут 60 секунд - очень мало, если человек например что-то читает или задумался и прошла пара минут, то он типа в оффлайне? странная логика.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Mulder_hb
Mulder_hb
сообщение 23.4.2011, 20:42; Ответить: Mulder_hb
Сообщение #8


(zabmix @ 23.4.2011, 14:03) *
эти запросы висят в Index.php к которому при любом клике/запросе будет выполнятся "этот запрос". Это как раз говорит о том что любой кто зайдет на сайт, и обновит статистику кто онлайн/оффлайн.

Еще лучше! Запросы выполняются при каждом запросе index.php. Почитайте что-нибудь про производительность и оптимизацию.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
alexdrob
alexdrob
сообщение 23.4.2011, 21:06; Ответить: alexdrob
Сообщение #9


я бы арендовал виртуальный сервер и делал на нём, цена как у хостинга практически зато можно запустить что угодно, и сделал бы мини сервер для этих целей например на питоне, яве или с++
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
zabmix
zabmix
Topic Starter сообщение 24.4.2011, 13:28; Ответить: zabmix
Сообщение #10


(Apay @ 23.4.2011, 15:01) *
таймаут 60 секунд

Это пример, может Вы и не в курсе, то время всегда можно изменить.

(Mulder_hb @ 23.4.2011, 23:42) *
Почитайте что-нибудь про производительность и оптимизацию.

Я об этом знаю достаточно.

И ближе к вопросу, я задавал вопрос про ЗАПРОС, а не про то где должен он быть в каком файле. Совет нужен про запрос, а не про ваши оптимизации и виртуальные сервера.
В прочем, ответа "корректного" я так и не дождусь. Спасибо за внимание. Закрыто.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
2 страниц V   1 2 >
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Куплю аккаунт Github для себя
1 Kuzzma 1886 28.7.2023, 16:39
автор: TheMisha
Открытая тема (нет новых ответов) Ищу себя. Вёрстка, Программирование, Продающие тексты и другое от Новичка бесплатно
0 iCrew 1552 11.5.2020, 12:37
автор: iCrew
Горячая тема (нет новых ответов) Тема имеет прикрепленные файлыПилим чужой сайт под себя
38 k0ttee 17448 20.10.2019, 8:04
автор: k0ttee
Открытая тема (нет новых ответов) Тема имеет прикрепленные файлыРазмещу ваши рекламные статьи у себя на сайте
0 Megoydagi 1898 17.8.2019, 17:37
автор: Megoydagi
Открытая тема (нет новых ответов) Куплю сайт для себя!
6 YuriOs13 3481 22.1.2018, 13:54
автор: Kriya


 



RSS Текстовая версия Сейчас: 24.4.2024, 23:30
Дизайн