Вы не зашли.
Спс Геморой..!
Кое-как разобрался...
Вот если кому нада... Разбивка по секундам, минутам и часам...
Код:
span style="color: #0000BB"><?php$tm = date("H:i:s", $_SESSION['timeOnline'] - 10800);print $tm;?> |
Gemorroj, я вот сделал как тут все описано но у меня доходит до 23:59:59 и время в БД снова перезаписываеться на 00:00:00. Что делать, как подсчитывать много часов. например 145:34:15
тебе нужно записывать число секунд, а не время.
Gemorroj, я делаю вот так..
$online = time() - $db['online'];
mysql_query("UPDATE u_table SET online=online+$online,timeon=timeon+$online WHERE login='".$db['login']."'");
$db['online']; - в ней содержится последнее время
timeon - здесь времяя онлайн за весь период
А как число секунд записать, я все с помощью time() делаю
Добавлено спустя 4 минуты 14 секунд: И потом вывожу echo date("H:i:s",$db['timeon']);
Отредактировано Namik (2009.11.19 02:02)
тебе не нужно использовать date. разбивай полученные секунды вручную.
Пдскажите, пожалуйста, как это сделать..!?
Код:
span style="color: #0000BB"><?php$int = 86820;$tmp = array( 'days' => 0, 'hours' => 0, 'min' => 0,);$days = explode('.', $int / 86400);if ($days[0] >= 1) { $tmp['days'] = $days[0];}$hours = explode('.', ($int - ($tmp['days'] * 86400)) / 3600);if ($hours[0] >= 1) { $tmp['hours'] = $hours[0];}$min = explode('.', ($int - ($tmp['hours'] * 3600) - ($tmp['days'] * 86400)) / 60);if ($min[0] >= 1) { $tmp['min'] = $min[0];}print_r($tmp);?> |
Блин .. а куда мне подставлять мой $db['timeon']? чтобы просчитало?
Вот $hous = floor ($timevremja / 3600);
$mins = floor ($timevremja / 60) -$hous*60;
$secs = $timevremja % 60;
echo "Провел(а) на сайте: <br/>".$hous." ч. ".$mins." мин. ".$secs."сек.<br/>\n";
timevremja это строка где хранятся секунди
Добавлено спустя 1 минуту 3 секунды: Вот $hous = floor ($timevremja / 3600);
$mins = floor ($timevremja / 60) -$hous*60;
$secs = $timevremja % 60;
echo "Провел(а) на сайте: <br/>".$hous." ч. ".$mins." мин. ".$secs."сек.<br/>\n";
timevremja это строка где хранятся секунди