Avatar billede brian_lundgaard Nybegynder
22. januar 2006 - 10:38 Der er 2 kommentarer og
1 løsning

"Autorefresh-kasse" som ikke må være IFRAME

Håber, dette er den rigtige kategori!

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 jakoba Nybegynder
22. januar 2006 - 11:25 #1
internettets http protokol er lovlig langsom til at opdatere sådan noget fra serveren.

Så hvis alt hvad du ønsker er et ur der opdaterer sig selv løbende, så brug et javascript på den side. det er meget nemmere og der er bunker af færdige javascripts at vælge imellem.

vent lidt om der kommer noget her, ellers prøv at spørge i javascript kategorien
    http://www.eksperten.dk/spm/Programmering/Script/JavaScript/
Avatar billede brian_lundgaard Nybegynder
22. januar 2006 - 11:33 #2
Nu er det jo ikke noget ur og der er heller ikke tale om simpel nedtælling, da det som antydet af koden skifter konstant, hvem der skal tælles ned for. Men "tak", jeg havde også javaScript-kategorien som mit alternativ.
Avatar billede brian_lundgaard Nybegynder
22. januar 2006 - 14:27 #3
Spørgsmålet lukkes her og flyttes til javascript
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
Kurser inden for grundlæggende programmering

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