Малко помощ за пхп скрипт.

SayliS

Registered
Здравейте.

Това е 1вия ми пост тук. Несъм много добър с php и mysql и за това се надявам да ми помогнете.

Имам база данни с таблица в която се записва старт тайма на сървара ми.

Извиквам го със
Код:
$sqlquery =mysql_query("SELECT * FROM restart") or die(mysql_error());

$row = mysql_fetch_array($sqlquery, MYSQL_ASSOC);

$row['start_time']
Ок това работи, но в базата данни времето е в следния формат
Код:
1163710170

Ок решавам да го преобразувам с
Код:
$day = floor(($row['start_time'] / 86400)*1.0) ;
$calc1 = $day * 86400 ;
$calc2 = $row['start_time'] - $calc1 ;
$hour = floor(($calc2 / 3600)*1.0) ;
if ($hour < 10) {
$hour = "0".$hour ;
}
$calc3 = $hour * 3600 ;
$calc4 = $calc2 - $calc3 ;
$min = floor(($calc4 / 60)*1.0) ;
if ($min < 10) {
$min = "0".$min ;
}
$calc5 = $min * 60 ;
$sec = floor(($calc4 - $calc5)*1.0) ;
if ($min < 10) {
$sec = "0".$sec ;
}
$uptime = $day." Days, ".$hour.":".$min.":".$sec ;

echo $uptime;

И ми излиза
Код:
13468 Days, 20:49:30

Как да го направя да показва от тогава до момента в който използвам скрипта колко време е минало.

Мисля си да извикам времето в момента в формат като
Код:
1163710170
Но незнам как :( можете ли да ми помогнете

Ако го извикам (времето в момента в този формат) ще мога да направя следното
Код:
$time= $time_start - $time_now

и след това в преобразуващия скрипт да сложа $time за преобразуване.

п.с Ако трябва ще постна и начина по който карам start time да се вкарва д Базата Данни.

Благодаря и се надявам да сте ме разбрали и да можете да ми помогнете.
 
Я пробвай така да видя какво ще ти даде:


Замени това:
Код:
$day = floor(($row['start_time'] / 86400)*1.0) ;
$calc1 = $day * 86400 ;
$calc2 = $row['start_time'] - $calc1 ;
$hour = floor(($calc2 / 3600)*1.0) ;
if ($hour < 10) {
$hour = "0".$hour ;
}
$calc3 = $hour * 3600 ;
$calc4 = $calc2 - $calc3 ;
$min = floor(($calc4 / 60)*1.0) ;
if ($min < 10) {
$min = "0".$min ;
}
$calc5 = $min * 60 ;
$sec = floor(($calc4 - $calc5)*1.0) ;
if ($min < 10) {
$sec = "0".$sec ;
}
$uptime = $day." Days, ".$hour.":".$min.":".$sec ;

echo $uptime;

с това :
Код:
$sega=time();
$den_sega=floor(($sega/86400)*1.0);
$den_predi=floor(($row['start_time']/86400)*1.0);


$dni=$den_sega-$den_predi;

echo "uptime: $dni дни";


Аз лично пробвах с някакво число ( дата в която съм се регнал тук) за старт и се получава това:
Ето:

http://admin.web-tourist.net/demo/time.php

//офф
ама аз отдавна съм се регнал бе :shock:
офф/
 
Малко съм гроги и незнам дали съм се справил но ако кажеш, че има грешка и не показва правилно мога да се постарая повече.
 
Пробвах с времето в което съме регнал. :)
Показва ми от колко дхс .
Ама вярно показва поне.

Ти какво искаш да показва?
От колко дни ли само или часове и т.н?
Ако ще е часове само пак става .
Ама точно ще ми е трудно (5 дена,2 часа , 30 мин.).
Виж за uptime : брой дни е лесно .
 
//офф
1во благодаря за бързата реакция и отделеното време.
//

Сега ъптайма на сървара ми е 6 часа и мин.... вадя го посредством tcl и windrop(eggdrop за win).


Линка ти неработи :)

Код:
Not Found
The requested URL /demo/time.php was not found on this server.

Когато замених кога се получи
Код:
uptime: 1 дни
:(

Нещо неми го определи мн точно.

Код:
Ти какво искаш да показва?
От колко дни ли само или часове и т.н?

$ден, $час : $мин : $сек

В този вариант да го показва.
 
Аз казах, че за дни определя.
За това което искаш пак казах, че няма да е лесно и в момента съм зает.:(
Ако някой друг има време да напише.
 
ако съм те разбрал правилно кода трябва да е така
$date= date("Y/m/d G:i:s");
mysql_query("INSERT дате (date) VALUES ( '$date')");
а в таблицата кода трябва да е така date DATETIME NOT NULL
на твоята таблица за датата сложи това DATETIME
вместо каквото си сложил
пример ти дадох по горе
 
vesku каза:
ако съм те разбрал правилно кода трябва да е така
$date= date("Y/m/d G:i:s");
mysql_query("INSERT дате (date) VALUES ( '$date')");
а в таблицата кода трябва да е така date DATETIME NOT NULL
на твоята таблица за датата сложи това DATETIME
вместо каквото си сложил
пример ти дадох по горе

На него му трябва разликата между начална и крайна.
 
Код:
$time=time();
$uptime=$time-$row['start_time'];

$day = floor(($uptime / 86400)*1.0) ;
	$calc1 = $day * 86400 ;
	$calc2 = $uptime - $calc1 ;
	$hour = floor(($calc2 / 3600)*1.0) ;
	if ($hour < 10) {
	$hour = "0".$hour ;
}
	$calc3 = $hour * 3600 ;
	$calc4 = $calc2 - $calc3 ;
	$min = floor(($calc4 / 60)*1.0) ;
	if ($min < 10) {
	$min = "0".$min ;
}
	$calc5 = $min * 60 ;
	$sec = floor(($calc4 - $calc5)*1.0) ;
	if ($min < 10) {
	$sec = "0".$sec ;
}
$uptime_sega = $day." Дена, ".$hour."часа".$min."мин".$sec."сек" ;
echo $uptime_sega;
8)
 

Back
Горе