Autor Zpráva
gogy27
Profil
mam takyto script vsetko sa mi ukazuje spravne (myslim tym ziaden error) ale neauktualizuje sa cas resp.: stale su min = 0 sec = 0

$unixtime = time() - ($data['online_lastactive']);
	if($unixtime < 60){
		$sec=$unixtime;
		$min=0;
		$hour=0;
	} else if($unixtime < 3600){
		$sec=$unixtime%60;
		$hour=0;
		$min_t = explode('.', number_format($unixtime/60,2));
		$min=$min_t[0];
	} else if($unixtime >= 216000){
		$hour_t = explode('.',number_format($unixtime/216000,2));
		$hour=$hour_t[0];
		$sec=$unixtime%60;
		$min_te = $unixtime%216000;
		$min_t = explode('.',number_format($min_te/60,2));
		$min=$min_t[0];
	}
	echo "<td style='border-bottom: 0px solid ".$body_text."; border-right: 0px solid ".$body_text.";' align='center'>".$min."m:".$sec."s</td>";
}
gogy27
Profil
newiem v com to moze byt skuste pls poradit
Joker
Profil
Jestli jsem to dobře pochopil, tak tohle:
        $min_t = explode('.', number_format($unixtime/60,2));
        $min=$min_t[0];

má nahrazovat funkci floor()? Zvláštní konstrukce :-)
gogy27
Profil
a jak by si to riesil ty?
Mastodont
Profil
1. Odkud se bere $data['online_lastactive'], jsou jeho hodnoty pořádku?
2. Proč v if-else není řešen $unixtime v rozmezí 3600 až 216 000?
gogy27
Profil
tie data su uplne v poriadku to sa beru z include suboru
2. a naco? ved ked bude mensie cislo nez 3600 sa vykona prve elseif ak bude $unixtime >= 216000 sa vykona druhe else if ak sa nevykonalo to prve
gogy27
Profil
alebo ako by ste riesili vypocet ze kolko je dany uzivatel na stranke
Mastodont
Profil
gogy27
No a když bude $unixtime třeba 10 000, tak se provede co?
gogy27
Profil
teraz tu ani tak nejde o to ide mi o to ze nejde vobec cas nepocita

<?
require_once ("maincore.php");
include (LOCALE.LOCALESET."admin/wioa.php");

opentable($locale['WIOA_000']);

echo "<br><table border='0' cellspacing='0' cellpadding='0' align='center'><tr>
<td style='border: 0px solid ".$body_text.";' align='center'><b>".$locale['WIOA_002']."</b></td>
<td style='border-bottom: 0px solid ".$body_text."; border-right: 0px solid ".$body_text."; border-top: 0px solid ".$body_text.";' align='center'><b>".$locale['WIOA_007']."</b></td></tr>";
$result=dbquery("SELECT * FROM ".$db_prefix."online ORDER BY online_ip");
while ($data=dbarray($result)) {
	if($data['online_user'] == 0) {
	        $uname = "<img src='".BASEDIR."images/red_dot.gif' align='absmiddle' border='0' alt='".$locale['WIOA_008']."'>&nbsp;".$locale['WIOA_008']."";
	} else {
	        $result2 = dbquery("SELECT * FROM ".$db_prefix."users WHERE user_id=".$data['online_user']."");
	        $data3 = dbarray($result2);
	        $uname = "<img src='".BASEDIR."images/green_dot.gif' align='absmiddle' border='0' alt='$user_na'>&nbsp;<b>".$data3['user_name']."</b>";
	}
	$host = gethostbyaddr ($data['online_ip']);
	$array = explode(".", $host);
	$country = $array[sizeof($array)-1];
	$country = strtoupper($country);
	if (is_numeric($host)) {
		$country = $locale['WIOA_009'];
	} else {
		$country = $locale['WIOA_010'];
	}
	echo "
<tr>
	<td style='border-left: 0px solid ".$body_text."; border-bottom: 0px solid ".$body_text."; border-right: 0px solid ".$body_text.";'>$uname</td>";
  $unixtime = time() - ($data['online_lastactive']);
	if($unixtime < 60){
		$sec=$unixtime;
		$min=0;
		$hour=0;
	} else if($unixtime < 3600){
		$sec=$unixtime%60;
		$hour=0;
		$min_t = explode('.', number_format($unixtime/60,2));
		$min=$min_t[0];
	} else if($unixtime >= 216000){
		$hour_t = explode('.',number_format($unixtime/216000,2));
		$hour=$hour_t[0];
		$sec=$unixtime%60;
		$min_te = $unixtime%216000;
		$min_t = explode('.',number_format($min_te/60,2));
		$min=$min_t[0];
	}
	echo "<td style='border-bottom: 0px solid ".$body_text."; border-right: 0px solid ".$body_text.";' align='center'>".$min."m:".$sec."s</td>";
}
echo "</tr></table><br>";
$guest_online_count = dbrows(dbquery("SELECT * FROM ".$db_prefix."online where online_user=0"));
$member_online_count = dbrows(dbquery("SELECT * FROM ".$db_prefix."online where online_user=1"));
closetable();
?>

toto je cely moj skript

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0