title
Description
Body
Ну так как запись время в секундах? Где дыра?
Добавлено спустя 2 минуты 32 секунды:
Непойму как записать время пользователя скока он провел в чате
Может както так
например: щас time 20:53:23 = запись в строку +timeschat
код http://kento.ru/download/zip.php?action=preview&dir=chatu&arch=Chat_mod_by_vipsds.zip&open=info.php&start=0&
Неактивен
после регистрации записываешь в бд timestamp далее при каждом новом обовлении страницы смотришь этот timestamp и если он, скажем, на 5 минут меньше текщего timestamp, то обновляешь его на текущий. если же меньше, то добавляешь в БД разницу между текущим таймштампом и таймштампом в БД. т.е. примерно так UPDATE table SET online = online + time() - $time;
у тебя будет 2 записи - с таймштампом и временем онлайн.
Неактивен
А так будет работать //VREMJA
$update = mysql_query("UPDATE `chat_users` SET
`timeschat` = `timeschat` + IF(NOW()-`timesob` < 300, NOW()-`timesob`, 0),
`timesob` = NOW()
WHERE `id` = '".$id."';");
//END VREMJA
Добавлено спустя 3 минуты 47 секунд:
поле `timeschat` (INT) -показывает сколько секунд юзер в онлайн
`timesob`(TIMESTAMP) - время послед. обновления юзера
по условию, если юзер обновлялся не позже 5 минут назад, добавить разницу.
Отредактировано Vampisja (2009.11.04 19:11)
Неактивен
Выдрал из своего сайта. Думаю поймёш.
$tmp_num=explode('.',$an['alltime']/60);
$m=$tmp_num[0];$an['alltime']=$an['alltime']-(60*$tmp_num[0]);
$tmp_num=explode('.',$m/60);
$ch=$tmp_num[0];$m=$m-(60*$tmp_num[0]);
$tmp_num=explode('.',$ch/24);
$d=$tmp_num[0];$ch=$ch-(24*$tmp_num[0]);
echo 'Перебував на сайті протягом
'.$d.' днів '.$ch.' годин '.$m.' хвилин та '.$an['alltime'].' секунд<br/>';
Неактивен
Я писал код $timevremja = explode('.',$an['alltime']/60);
$m = $timevremja[0];
$an['alltime'] = $an['alltime'] - (60*$timevremja[0]);
$timevremja = explode('.',$m/60);
$ch = $timevremja[0];
$m = $m - (60*$timevremja[0]);
$timevremja = explode('.',$ch/24);
$d=$timevremja[0];
$ch = $ch - (24*$timevremja[0]);
echo "Перебував на сайті протягом
".$d." днів ".$ch." годин ".$m." хвилин та ".$an ['alltime']." секунд<br/>\n";
но везде нули дне 0 часов 0 и т.д
Добавлено спустя 3 минуты 38 секунд:
В БД записую так //TIME
$update = mysql_query("UPDATE `chat_users` SET
`timevremja` = `timevremja` + IF(NOW() - `timesob` < 300, NOW() - `timesob`, 0),
`timesob` = NOW()
WHERE `id` = '".$id."';");
//END TIME
Добавлено спустя 7 минут 18 секунд:
В бд вот такие timevremja ANT(11) timesob IMESTAMP
Неактивен