Avatar billede rasmus_a Nybegynder
03. september 2005 - 10:40 Der er 13 kommentarer og
1 løsning

Nedtællings script

Hej

Jeg skal bruge et script, eller hjælp til samme, som kan kaldes med en dato som variabel, f.eks. 100905, og så skal scriptet skrive hvor lang tid der er til datoen - eller hvor mange timer der er til.

Eksempel.

<?php
require_once('countdown.php?dato=100905&tid=1200')
?>

og countdown skal udskrive:

7
(der er syv dage til d. 10/09-05)

HVIS nu det er d. 10/05-05 skal scriptet ikke skrive noget med dage etc men bare:

1:20
(altså der er 1 time og 20 minutter til kl 12:00)

Håber I kan hjælpe. Tak.
Avatar billede showsource Seniormester
03. september 2005 - 10:52 #1
Prøv hellere i javascript kategorien :O)
Avatar billede rasmus_a Nybegynder
03. september 2005 - 11:02 #2
det kan vel laves i php, ik? :)
Avatar billede Slettet bruger
03. september 2005 - 11:03 #3
function Days($day, $month, $year)
    {
    $now = time();
    $then = mktime(0,0,0,$month,$day,$year);
    $days = ceil(($then-$now) / (60*60*24));
    return $days;
    }

og så kan du kalde den vha

echo Days(substr(0, 2, $_GET['dato']), substr(2, 2, $_GET['dato']), substr(4, 2, $_GET['dato']));
Avatar billede Slettet bruger
03. september 2005 - 11:05 #4
Jeg har ikke lige medregnet timer - 1 sek
Avatar billede rasmus_a Nybegynder
03. september 2005 - 11:12 #5
ok tak - men den skal kaldes som nævnt ovenfor.

altså countdown.php?dato=100905&tid=1200
Avatar billede Slettet bruger
03. september 2005 - 11:43 #6
Så blev den lidt længere..

<?
function Days($Dato, $Time)
    {
    $day = substr($Dato, 0, 2);
    $month = substr($Dato, 2, 2);
    $year = substr($Dato, 4, 2);
   
    $now = time();
    $then = mktime(0,0,0,$month,$day,$year);
    $Days = ceil(($then-$now) / (60*60*24));
   
    if($Days == 0)
        {
        $TidTimer = substr($Time, 0, 2);
        $TidMinutter = substr($Time, 2, 2);
       
        $TidNu = floor(((time() / (60*60*24)) - (floor(time() / (60*60*24)))) * (24*60));
        $TimerNu = floor($TidNu / 60);
        $MinutterNu = $TidNu - ($TimerNu * 60);
           
        $TimerForskel = $TidTimer - $TimerNu;
        $MinutterForskel = $TidMinutter - $MinutterNu;
       
        if($MinutterForskel < 0)
            {
            $MinutterForskel = 60 + $MinutterForskel;
            $TimerForskel -= 1;
            }
       
        if($Time > date("Hi"))
            {               
            return $TimerForskel .'.'. $MinutterForskel ." Til klokken ". $TidTimer .'.'. $TidMinutter;
            }
        else
            {
            return "Tidspunktet er overskredet";
            }
        }
    else
        {
        return $Days ." Dage";
        }
    }

echo Days($_GET['dato'], $_GET['tid']);
?>
Avatar billede rasmus_a Nybegynder
03. september 2005 - 11:49 #7
tak :) det ser ud til at virke rigtig godt men hvis jeg skriver:

countdown.php?dato=030905&tid=1600

så skriver den:
6.12 Til klokken 16.00

og der er jo kun 12 min. til kl 12.
kan du fixe dét?

:)
Avatar billede Slettet bruger
03. september 2005 - 12:04 #8
Det er jo rigtigt nok.. Du skriver jo 1600 - og så finder den ud af hvor lang tid der er fra nu, til klokken 16.00
Avatar billede Slettet bruger
03. september 2005 - 12:06 #9
Eller er det mig der har misforstået det? ;o)
Avatar billede Slettet bruger
03. september 2005 - 12:23 #10
-> Og et svar

- Hvis jeg har misforstået noget, må du lige fortælle hvad - så jeg kan ændre det ;o)
Avatar billede rasmus_a Nybegynder
03. september 2005 - 14:24 #11
undskyld ventetiden.

der var kun fire timer og tolv minutter til kl 16 da jeg skrev den post.

så scriptet skulle have sagt 4.12 ;)
Avatar billede Slettet bruger
03. september 2005 - 14:26 #12
Ahh okay. Du kan selv trække 2 timer fra.

Bare ændr $TimerForskel = $TidTimer - $TimerNu;

til

$TimerForskel = $TidTimer - ($TimerNu + 2);
Avatar billede rasmus_a Nybegynder
03. september 2005 - 14:58 #13
det er alletiders - tak for hjælpen wicez :)
Avatar billede Slettet bruger
03. september 2005 - 15:02 #14
Selv tak. Det var ét af de bedre spørgsmål (forespørgsler?) herinde ;o)
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