Witam. Zrobiłem odliczanie w php od momentu wydrukowania ostatniej etykiety. Czas normalnie się odlicza. Ma się jeszcze aktualizować co sekundę (żeby na wszystkich kompach, który się zaloguje na IP programu pokazywał aktualny czas jaki upłynął). Wszystko działa, ale nie raz mi przeskakuje o 2 sek. a nieraz normalnie odlicza... Oto kod... Wie ktoś gdzie jest błąd??
require_once "connect.php";
if (!$polaczenie = mysql_connect($host,$db_login,$db_pass,$db_name)) {
echo 'Nie można nawiązać połączenia z bazą danych';
exit;
}else
{
if (!mysql_select_db('sinbin', $polaczenie)) {
echo 'Nie można wybrać bazy danych';
exit;
}
$kodowanie=mysql_query('SET NAMES \'utf8\'');
if($result = mysql_query("SELECT data,login FROM sin ORDER BY data DESC LIMIT 1", $polaczenie))
{
$ilu_userow=mysql_num_rows ($result);
if($ilu_userow>0)
{
while($wiersz=mysql_fetch_assoc($result))
{
$data=$wiersz['data'];
$login=$wiersz['login'];
$czas= new DateTime ($data);
$czas->format('Y-m-d H:i:s');
$czas2=new DateTime ();
$czas2->format('Y-m-d H:i:s');
$roz=$czas2->diff($czas);
$roz->format('%y-%m-%d-%h-%i-%s');
$godzina=explode("-", $roz->format('%Y-%M-%D-%H-%I-%S'));
$dzien2 = $godzina[2];
$godzina2 = $godzina[3];
$minuta2 = $godzina[4];
$sekunda2 = $godzina[5];
$sekunda2=$sekunda2+1;
if ($sekunda2>=60) {$sekunda2=0; $minuta2=$minuta2+1;}
if ($minuta2>=60) {$minuta2=0; $godzina2=$godzina2+1;}
if ($godzina2>23) {$godzina2=0; $dzien2=$dzien2+1;}
if ($dzien2>30)
{
header("Location: index.php");
} else{
if ($sekunda2<10) $sek2="0".$sekunda2; else $sek2=$sekunda2;
if ($minuta2<10) $min2=$minuta2;
if ($godzina2<10) $godz2=$godzina2;
if ($dzien2<10) $day2=$dzien2;
echo<<<END
<span style="width:200px; height:25px; background-color:lightgreen; border-radius: 20px/50px; color:black; padding:8px; box-shadow: 5px 5px 2px 2px grey; border:2px solid green;"><span id="ok2" style="color:black; font-weight:bold;">Ostatnią etykietę wydrukowano: </span><span id="licz1" style="color:red; font-weight:bold;"></span><span style="color:red; font-weight:bold;">$day2 </span><span id="z1" style="color:black; font-weight:bold;"> Dni, </span><span id="licz2" style="color:red; font-weight:bold;"></span><span style="color:red; font-weight:bold;">$godz2 </span><span id="z2" style="color:black; font-weight:bold;"> Godz, </span><span id="licz3" style="color:red; font-weight:bold;"></span><span style="color:red; font-weight:bold;"> $min2 </span><span id="z3" style="color:black; font-weight:bold;"> Min, </span><span id="licz4" style="color:red; font-weight:bold;"></span><span style="color:red; font-weight:bold;"> $sek2 </span><span id="z4" style="color:black; font-weight:bold;"> Sek.</span><span id="z5" style="color:black; font-weight:bold;"> przez: </span><span style="color:red; font-weight:bold;">$login</span></span>
END;
}
}
}
}
mysql_close($polaczenie);
}
setInterval("odswiez2();",1000);
function odswiez2(){
$('#ost').load('http://172.27.189.18/ #ost');
}
Wiem, że używam mysql_connect (bo zaraz pojawią sie komentarze typu już się nie używa itp ;) ja to wiem) bo mam starą wersje webserv, xxamp nie działa bo są poblokowane porty. Chodzi mi oto jak rozwiązać ten problem ;)