Avatar billede brian_lundgaard Nybegynder
22. januar 2006 - 14:26 Der er 1 kommentar

"frame" med autorefresh

På opfordring flytter jeg dette spørgsmål hertil:

Nedenstående php-kode ønskes løbende opdateret i "en lille kasse" for sig på mit skaksite (eskak.dk). Jeg har haft det lagt i en IFRAME (kortvarigt) med <meta http-equiv="refresh" content="1">, men det både klikker, sprutter og blinker, så man mister besindelsen indenfor 10 sekunder! Det virker, men er ikke til at holde ud.

Jeg har brug for noget, som på samme vis opdaterer løbende (hvert sekund; det er et skakur, som tæller den aktuelle spillers tid ned), men IKKE blinker og klikker som IFRAME. Nogen, som kan hjælpe?

<?
include ("connect.php");
    $gid=46271;
    $resultat = mysql_query("SELECT total_sec_white, total_sec_black, used_sec_white, used_sec_black, plr_to_move, white_id, black_id, last_move_at FROM chess WHERE game_id='$gid' LIMIT 0,1") or die(mysql_error());
    while ($raekke = mysql_fetch_array($resultat)) { extract($raekke); }
    mysql_close($conn);
$dato=time();
if ($total_sec_white>=1) {
if ($plr_to_move==$white_id) $deduct_w=($dato-$last_move_at);
if ($plr_to_move==$black_id) $deduct_b=($dato-$last_move_at);
$time_white=$total_sec_white-$used_sec_white-$deduct_w;
$time_black=$total_sec_black-$used_sec_black-$deduct_b;
$timer_hvid=$time_white/3600; $sek_hvid=$time_white%60; $dage_hvid=floor($timer_hvid/24); $time_hvid=floor($timer_hvid%24); $minutter_hvid=floor(($timer_hvid-(floor($timer_hvid)))*60);
$timer_sort=$time_black/3600; $sek_black=$time_black%60; $dage_sort=floor($timer_sort/24); $time_sort=floor($timer_sort%24); $minutter_sort=floor(($timer_sort-(floor($timer_sort)))*60);
//$do_w=$dato+$time_white; $is_w=date("Y,m,j,G,i,s",$do_w);
//$do_b=$dato+$time_black; $is_b=date("Y,m,j,G,i,s",$do_b);
echo "<table cellpadding=0 cellspacing=0><tr>
<td><span>Hvid:</td><td>&nbsp;:&nbsp;</td><td align=center><span>"; echo "$time_hvid&nbsp;t.&nbsp;$minutter_hvid&nbsp;min.&nbsp;$sek_hvid&nbsp;sek."; echo "</td></tr><tr>
<td><span>Sort:</td><td>&nbsp;:&nbsp;</td><td align=center><span>"; echo "$time_sort&nbsp;t.&nbsp;$minutter_sort&nbsp;min.&nbsp;$sek_black&nbsp;sek."; echo "</td></tr></table>";
}
?>

Brian
Avatar billede roenving Novice
22. januar 2006 - 22:20 #1
En måske overdrevent kompliceret udgave af et script kan findes her: http://roenving.users.whitehat.dk/date/roenvingDate.html

-- hvis hverbrugers tid skal tælles, og de befinder sig på flere forskellige computere skal der selvfølgelig noget serverside opdatering inkluderes, men det er faktisk ganske indlysende at tage udganspunkt i noget javascript, men måske også en opdatering af f.eks. en iframe !-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester