Нужно стравнить с time() и сделать так:
if(time() - 'Тут дата из базы' < 900)
{
Скрипт выполнения
}
time() - на мой взгляд выводит миллисекунды. Если так, то как мне вывести миллисекунды из БД?
Спустя 11 минут (21.12.2011 - 11:05) SlavaFr написал(а):
если ты актуальное время сравниваешь со временем в табличе то тебе time() не нужно
where date_add(tvoe_pole, INTERVAL 900 SECOND)>NOW()
Спустя 2 минуты, 44 секунды (21.12.2011 - 11:07) Ramzil_Nixon написал(а):
SlavaFr
Цитата (SlavaFr @ 21.12.2011 - 08:05) |
если ты актуальное время сравниваешь со временем в табличе то тебе time() не нужно where date_add(tvoe_pole, INTERVAL 900 SECOND)>NOW() |
Спасибо, щас испробуем
Спустя 6 минут, 47 секунд (21.12.2011 - 11:14) Ramzil_Nixon написал(а):
SlavaFr
Цитата (SlavaFr @ 21.12.2011 - 08:05) |
>NOW() |
А это для чего?
Спустя 7 минут, 43 секунды (21.12.2011 - 11:22) Игорь_Vasinsky написал(а):
ну тык ты глянь что это вообще такое

Спустя 1 минута, 45 секунд (21.12.2011 - 11:24) Ramzil_Nixon написал(а):
Игорь_Vasinsky
Цитата (Игорь_Vasinsky @ 21.12.2011 - 08:22) |
ну тык ты глянь что это вообще такое |
это обновляет дату.
в общем вот что я хочу сделать, повесить табличку онлайн у каждого пользователя в странице, если он проявляет активность в течении 15 минут

время активночти в меня записывается в столбце visit
Спустя 37 секунд (21.12.2011 - 11:24) SlavaFr написал(а):
http://dev.mysql.com/doc/refman/5.5/en/dat...ml#function_now
нет, это с обновлением ни чтго общего не имеет, это просто актуальная дата
нет, это с обновлением ни чтго общего не имеет, это просто актуальная дата
Спустя 1 минута, 30 секунд (21.12.2011 - 11:26) Ramzil_Nixon написал(а):
mysql_query("UPDATE `user_site` SET
`visit` = NOW() WHERE
`id` = '".(int)$_SESSION['id']."'
") or die(mysql_error());
Вот так я обновляю дату из visit
Спустя 23 минуты, 35 секунд (21.12.2011 - 11:49) SlavaFr написал(а):
не совсем понял, когда ты хочеш эту таблицу обнавить.
если это делать только в случае если визит был не позже 15 минут, то добавь в where
надеюсь, что ты учел случай, когда клиент первый раз появляется и надеюсь что сезон у тебя не больше 15 минут без активности живет.
если это делать только в случае если визит был не позже 15 минут, то добавь в where
and date_add(visit, INTERVAL 15 MINUTE)>NOW()
надеюсь, что ты учел случай, когда клиент первый раз появляется и надеюсь что сезон у тебя не больше 15 минут без активности живет.
Спустя 1 минута, 53 секунды (21.12.2011 - 11:51) Ramzil_Nixon написал(а):
SlavaFr, Дата обновляется при каждом входа на свою страницу или на страницу других пользователей.
Спустя 2 минуты, 7 секунд (21.12.2011 - 11:53) SlavaFr написал(а):
мне кажется, что тебя заинтересует это:
www.php.net/manual/en/function.session-set-save-handler.php#60316
www.php.net/manual/en/function.session-set-save-handler.php#60316
Спустя 1 минута, 5 секунд (21.12.2011 - 11:54) Ramzil_Nixon написал(а):
Цитата (SlavaFr @ 21.12.2011 - 08:53) |
мне кажется, что тебя заинтересует это: http://www.php.net/manual/en/function.sess...ndler.php#60316 |
А русской версии нету?

Спустя 1 день, 4 часа, 13 минут, 59 секунд (22.12.2011 - 16:08) Ramzil_Nixon написал(а):
Пробовал так:
Не работает, потому что дата из БД храниться в виде 2011-12-13 11:16:12. Надо в секунды их перевести, но не знаю как
if(time() - $akunt['visit'] < 900)
{
echo 'Online';
}
Не работает, потому что дата из БД храниться в виде 2011-12-13 11:16:12. Надо в секунды их перевести, но не знаю как
Спустя 1 минута, 8 секунд (22.12.2011 - 16:09) inpost написал(а):
Есть функция в mysql для вывода даты, сколько времени сейчас. Какая это функция? Состоит из 3-х символов: ***()
Спустя 58 секунд (22.12.2011 - 16:10) Ramzil_Nixon написал(а):
Цитата (inpost @ 22.12.2011 - 13:09) |
Состоит из 3-х символов: ***() |
NOW()



Спустя 1 минута, 19 секунд (22.12.2011 - 16:12) inpost написал(а):
Пишем NOW() - INTERVAL 15 MINUTE - получаем дату, которая была 15 минут назад.
Где время > чем дата, которая была 15 минут.
Где время > чем дата, которая была 15 минут.

Спустя 3 минуты, 30 секунд (22.12.2011 - 16:15) Ramzil_Nixon написал(а):
inpost, а это все на запросе в базу?
Спустя 1 минута, 10 секунд (22.12.2011 - 16:16) inpost написал(а):
Ах да, дополнение, в связи с тем, что дата на mysql и на php(апач) у тебя может быть разная, разные часовые пояса, то текущую дату (для последней активности) надо записывать НЕ ТАК:
А так:
Да, на запросе!
`date` = '".date("Y-m-d H:i:s")."'
А так:
`date` = NOW()
Да, на запросе!
Спустя 1 минута, 43 секунды (22.12.2011 - 16:18) inpost написал(а):
Учимся заниматься отладкой.
Открываешь PMA, вверху есть ВЫПОЛНИТЬ (или SQL), открываешь, там будет поле, в котором ты будешь тестировать запросы.
Туда пишешь:
SELECT NOW() , смотришь, что получилось.
Потом:
SELECT NOW() - INTERVAL 15 MINUTE , и опять смотришь, что получилось.
Открываешь PMA, вверху есть ВЫПОЛНИТЬ (или SQL), открываешь, там будет поле, в котором ты будешь тестировать запросы.
Туда пишешь:
SELECT NOW() , смотришь, что получилось.
Потом:
SELECT NOW() - INTERVAL 15 MINUTE , и опять смотришь, что получилось.
Спустя 2 минуты, 59 секунд (22.12.2011 - 16:21) Ramzil_Nixon написал(а):
inpost, попробую щас что-нибудь написать

Спустя 8 минут, 46 секунд (22.12.2011 - 16:30) Ramzil_Nixon написал(а):
Все равно не понял, с чего начать

Спустя 12 минут, 20 секунд (22.12.2011 - 16:42) Ramzil_Nixon написал(а):
Минутку, случайно не так? :)
$query_online = mysql_query("SELECT NOW() - INTERVAL 15 MINUTE < `visit` FROM `user_site` WHERE
`id` = '".(int)$_GET['id']."'
") or die('<b>Ошибка: </b>'.mysql_error());
$res = mysql_result($query_online, 0);
Спустя 15 минут, 47 секунд (22.12.2011 - 16:58) inpost написал(а):
Ramzil_Nixon
SELECT (тут пишется, что ты выбираешь)
FROM - из какой таблицы
WHERE - по какому условию
В данном случае ты выбрал дату, а не записи из таблицы по условию, где дата такая-то...
SELECT (тут пишется, что ты выбираешь)
FROM - из какой таблицы
WHERE - по какому условию
В данном случае ты выбрал дату, а не записи из таблицы по условию, где дата такая-то...
Спустя 2 минуты, 50 секунд (22.12.2011 - 17:01) Ramzil_Nixon написал(а):
Цитата (inpost @ 22.12.2011 - 13:58) |
В данном случае ты выбрал дату, а не записи из таблицы по условию, где дата такая-то... |
Так мне и надо определить в странице полььзователя в онлайне ли он, а не составить список присутствующих
Спустя 1 минута, 13 секунд (22.12.2011 - 17:02) inpost написал(а):
Вообще в смс-ках ты писал нечно другое.
Вот что я говорил: http://my.jetscreenshot.com/demo/20111222-igfq-32kb
А сейчас скину тебе другое:
Вот что я говорил: http://my.jetscreenshot.com/demo/20111222-igfq-32kb
А сейчас скину тебе другое:
Спустя 1 минута, 34 секунды (22.12.2011 - 17:04) Ramzil_Nixon написал(а):
inpost, а то что я написал работает 

Спустя 44 секунды (22.12.2011 - 17:04) inpost написал(а):
if($row['date'] > date("Y-m-d H:i:s",time()-900))
echo 'Online';
Спустя 2 минуты, 27 секунд (22.12.2011 - 17:07) Ramzil_Nixon написал(а):
Спустя 24 минуты, 36 секунд (22.12.2011 - 17:31) killer8080 написал(а):
Цитата (inpost @ 22.12.2011 - 16:04) |
if($row['date'] > date("Y-m-d H:i:s",time()-900)) echo 'Online'; |
или так
if(strtotime($row['date']) > (time()-900))
echo 'Online';
Спустя 5 минут, 33 секунды (22.12.2011 - 17:37) killer8080 написал(а):
Цитата (Ramzil_Nixon @ 21.12.2011 - 09:54) |
time() - на мой взгляд выводит миллисекунды. Если так, то как мне вывести миллисекунды из БД? |
time() выводит секунды RTFM

Спустя 57 секунд (22.12.2011 - 17:38) Ramzil_Nixon написал(а):
А мой способ то допустимый?

Спустя 4 минуты, 51 секунда (22.12.2011 - 17:43) killer8080 написал(а):
$query_online = mysql_query("SELECT * FROM `user_site` WHERE `id` = '".(int)$_GET['id']."' AND `visit` > (NOW() - INTERVAL 15 MINUTE) ") or die('<b>Ошибка: </b>'.mysql_error());
$res = mysql_result($query_online, 0);
Кстати $_GET['id'] - это id страницы?
Спустя 3 минуты, 43 секунды (22.12.2011 - 17:46) Ramzil_Nixon написал(а):
killer8080, да.
Спустя 3 минуты, 40 секунд (22.12.2011 - 17:50) killer8080 написал(а):
Ramzil_Nixon
а как различал юзеров? По сессионным ид?
а как различал юзеров? По сессионным ид?
Спустя 3 минуты, 36 секунд (22.12.2011 - 17:54) Ramzil_Nixon написал(а):
killer8080, не совсем понял
Спустя 1 минута, 28 секунд (22.12.2011 - 17:55) killer8080 написал(а):
Ramzil_Nixon
как отличаешь хиты одного юзера? Или там только зареганные юзеры?
как отличаешь хиты одного юзера? Или там только зареганные юзеры?
Спустя 4 минуты, 35 секунд (22.12.2011 - 18:00) Ramzil_Nixon написал(а):
killer8080, нет, вот что я делаю:

Под каждым зарегистрированным пользователем

Под каждым зарегистрированным пользователем

Спустя 17 часов, 41 минута, 38 секунд (23.12.2011 - 11:41) inpost написал(а):
Ramzil_Nixon
Ну я же показал как...
Ну я же показал как...
Спустя 1 час, 38 минут, 34 секунды (23.12.2011 - 13:20) Ramzil_Nixon написал(а):
Цитата (inpost @ 23.12.2011 - 08:41) |
Ну я же показал как... |
Учту, учту

_____________
Миллионы приходят, уходят, не в них счастье. Самым важным на свете всегда будут люди в этой комнате, вот здесь, сейчас...
