Да отброява колко секунди остават до края.

amarok

Registered
Значи имам код за състезания и искам да го направя като цъкнеш да се състезаваш да има таймер например за 30 секунди , и да отброява колко остава до края, аз сега съм го направил със flush(); sleep но така лагва целия сайт и нищо не може да правиш, ако може да се направи едно поле в users racetime и там да записва времето и като изтече да си свършил работата :)

Ето го кода


Код:
<?php
if($_SESSION['name']) {
$name = $_SESSION['name'];
if(isset($_GET['id'])) {
$id = htmlspecialchars($_GET['id']);
if($id == 1){$def = '20'; $gexp = '5'; $gpower = '2';}
if($id == 2){$def = '50'; $gexp = '10'; $gpower = '5';}
if($id == 3){$def = '100'; $gexp = '50'; $gpower = '25';}
$sql = "SELECT * FROM users WHERE name = '$name'";
$do = mysql_query($sql);
$my1 = mysql_fetch_array($do);
$rand = rand(80, 120);
$nrg = $my1['nrg'];
$att = ((($my1['power'] * (1 + ($my1['fighter'] * 0.1))) + ($my1['weaponr'] + $my1['weaponl'])) * (1 + ($my1['killer'] * 0.1))) * ($rand / 100);
if($att >= $def && $nrg >= 30) {
echo "Моля изчакайте 30 секунди докато свършите състезанието<br />";
flush(); sleep(30);
$sql = "SELECT * FROM users WHERE name = '$name'";
$do = mysql_query($sql);
$my = mysql_fetch_array($do);
$get1 = round(($gexp * ($rand / 100)) * (1 + ($my['busy'] * 0.1)));
$get2 = round(($gpower * ($rand / 100)) * (1 + ($my['fighter'] * 0.1)));
$get0 = round($get1 * 1.2);
$money = ($my['money'] + $get0);
$exp = ($my['exp'] + $get1);
$power = ($my['power'] + $get2);
$edit = "UPDATE users SET money = '$money', exp = '$exp', power = '$power', jobs = jobs + 1, nrg = nrg - 30 WHERE name = '$name'";
if(mysql_query($edit)) {
echo "<br /><font color=#8ce900>Свърши успешно работата си и спечели <img src='images/money.gif'>$get1 <img src='images/attempt.gif'>$get2   <br>Ще бъдете пренасочен след 5 секунди.";
echo "<meta http-equiv=refresh content=10;url='index.php?a=work'"; }} else if($def > $att && $nrg >= 30) {
echo "Моля изчакайте 30 секунди докато свършите работата<br />";
flush(); sleep(30);
$sql = "SELECT * FROM users WHERE name = '$name'";
$do = mysql_query($sql);
$my = mysql_fetch_array($do);
$get1 = round(($gexp * ($rand / 100)) * (1 - ($my['busy'] * 0.1)));
$get2 = round(($gpower * ($rand / 100)) * (1 - ($my['fighter'] * 0.1)));
$money = ($my['money'] - $get1);
$power = ($my['power'] - $get2);
$edit = "UPDATE users SET money = '$money', power = '$power', nrg = nrg - 30 WHERE name = '$name'";
if(mysql_query($edit)) {
echo "<br /><font color=#ff2323>Не успяхте и загубихте <img src='images/money.gif'>$get1 <img src='images/attempt.gif'>$get2 <br>Ще бъдете пренасочен след 5 секунди.";
echo "<meta http-equiv=refresh content=0;url='index.php?a=work'>";  }}} else { ?>
 

Back
Горе