#1 2009.11.04 20:50

Vampisja
Участник
Зарегистрирован: 2009.11.04
Сообщений: 56
Карма: 0
Профиль

Запись time

Ну так как запись время в секундах? Где дыра?
Добавлено спустя   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 2009.11.04 21:12

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Запись time

после регистрации записываешь в бд timestamp далее при каждом новом обовлении страницы смотришь этот timestamp и если он, скажем, на 5 минут меньше текщего timestamp, то обновляешь его на текущий. если же меньше, то добавляешь в БД разницу между текущим таймштампом и таймштампом в БД. т.е. примерно так UPDATE table SET online = online + time() - $time;
у тебя будет 2 записи - с таймштампом и временем онлайн.

Неактивен

#3 2009.11.04 22:05

Vampisja
Участник
Зарегистрирован: 2009.11.04
Сообщений: 56
Карма: 0
Профиль

Re: Запись time

А так будет работать //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:11)

Неактивен

#4 2009.11.04 22:32

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Запись time

хз, попробуй.

Неактивен

#5 2009.11.05 03:19

Vampisja
Участник
Зарегистрирован: 2009.11.04
Сообщений: 56
Карма: 0
Профиль

Re: Запись time

Все записавает в БД, ТАПЕР как  секунди вивести чтоб перевести в дни, часы, минуты, секунды, так
Пользователь провел на сайте 2 дней 5 часов  15 минут 23 секунд

Неактивен

#6 2009.11.05 08:42

Fuelen
Участник
Зарегистрирован: 2009.06.22
Сообщений: 229
Карма: 5
Профиль

Re: Запись time

Выдрал из своего сайта. Думаю поймёш.
$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 2009.11.05 09:53

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Запись time

нееее, это маразм. есть php функция strtotime и есть SQL функция UNIX_TIMESTAMP пляши от какой-нибудь из них.

Неактивен

#8 2009.11.05 14:30

Vampisja
Участник
Зарегистрирован: 2009.11.04
Сообщений: 56
Карма: 0
Профиль

Re: Запись time

Я писал код $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 2009.11.05 19:41

Vampisja
Участник
Зарегистрирован: 2009.11.04
Сообщений: 56
Карма: 0
Профиль

Re: Запись time

Отвесь?

Неактивен

#10 2009.11.05 21:13

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Запись time

какой вопрос?

Неактивен

#11 2009.11.05 23:10

Vampisja
Участник
Зарегистрирован: 2009.11.04
Сообщений: 56
Карма: 0
Профиль

Re: Запись time

Я пишу такой код
$hous = floor ($timevremja / 3600);
$mins = floor ($timevremja / 60);
$secs = $timevremja % 60;
часов $hous минут $mins секунд $secs все виводит нормально така минути идут за 60. Например часов 2 минут 129  секунд 51
Добавлено спустя   1 минуту  3 секунды:
Ету строку нужна както не так писать
$mins = floor ($timevremja / 60);

Неактивен

#12 2009.11.05 23:26

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Запись time

что у тебя в переменной $timevremja ?

Неактивен

#13 2009.11.06 00:31

Vampisja
Участник
Зарегистрирован: 2009.11.04
Сообщений: 56
Карма: 0
Профиль

Re: Запись time

Там все секунди. Я зделал как надо. Спасиба

Неактивен

Дополнительно

forum.wapinet.ru

PunBB Mod v0.6.2
0.012 s