Вы не зашли.
Главная » PHP » Запись time
#1. Vampisja Off (0)
Участник
2009.11.04 20:08
Ну так как запись время в секундах? Где дыра?
Добавлено спустя   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&
#2. Gemorroj Off (107)
Administrator
2009.11.04 21:09
после регистрации записываешь в бд timestamp далее при каждом новом обовлении страницы смотришь этот timestamp и если он, скажем, на 5 минут меньше текщего timestamp, то обновляешь его на текущий. если же меньше, то добавляешь в БД разницу между текущим таймштампом и таймштампом в БД. т.е. примерно так UPDATE table SET online = online + time() - $time;
у тебя будет 2 записи - с таймштампом и временем онлайн.
#3. Vampisja Off (0)
Участник
2009.11.04 22:10
А так будет работать //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 22:10)
#4. Gemorroj Off (107)
Administrator
2009.11.04 22:10
хз, попробуй.
#5. Vampisja Off (0)
Участник
2009.11.05 03:03
Все записавает в БД, ТАПЕР как  секунди вивести чтоб перевести в дни, часы, минуты, секунды, так
Пользователь провел на сайте 2 дней 5 часов  15 минут 23 секунд
#6. Fuelen Off (5)
Участник
2009.11.05 08:08
Выдрал из своего сайта. Думаю поймёш.
$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/>';
на хую вас вертів
#7. Gemorroj Off (107)
Administrator
2009.11.05 09:09
нееее, это маразм. есть php функция strtotime и есть SQL функция UNIX_TIMESTAMP пляши от какой-нибудь из них.
#8. Vampisja Off (0)
Участник
2009.11.05 14:02
Я писал код $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
#9. Vampisja Off (0)
Участник
2009.11.05 19:07
Отвесь?
#10. Gemorroj Off (107)
Administrator
2009.11.05 21:09
какой вопрос?
Страниц: 1 2 Все
Главная
WEB
PunBB Mod v0.6.2
0.015 s