Avatar billede cbnimann Nybegynder
01. september 2003 - 22:32 Der er 10 kommentarer og
1 løsning

fejl i script, dato tæller

Hej

jeg har et script på en side der tæller år mdr. og dage
fra en bestemt dato, men der er en fejl i scrit da det
i dag den 1-9-2003 tæller 1år 11mdr. 19 dage fra 13-09-2002
se script her :http://www.star-sound.dk/download/dato.txt
jeg har prøvet et par timer nu for at få det til at virke ok, men har opgivet nu, hjælp modtages
eller hvis man har et script der virker der kan det samme
man kan også se fejl her: http://www.star-sound.dk/mia

cb
Avatar billede ohmish Nybegynder
02. september 2003 - 00:53 #1
prøv med 09 istedet for 9
Avatar billede ohmish Nybegynder
02. september 2003 - 00:56 #2
jeg forstår ikke helt hvorfor du har så mange linier med
else if($countdag == -27){
    $countdag = $countdag+31;
Avatar billede sostack Nybegynder
02. september 2003 - 12:26 #3
<?php
//dato der skal regnes fra
$startdag = 1;
$startmd = 9;
$startaar = 2002;
$slutdag = date("d");
$slutmd = date("m");
$slutaar = date("Y");
//beregninger
    $aar = $slutaar - $startaar;
    if($slutmd >= $startmd)
    {
        $md = $slutmd - $startmd;
        if($slutdag >= $startdag)
        {
            $dag = $slutdag - $startdag;
        } else {
        switch($slutmd)
        {
            case 3:
                $dag = ($slutdag - $startdag) + 28;
            BREAK;
            case 5:
            case 7:
            case 10:
            case 12:
                $dag = ($slutdag - $startdag) + 30;
            BREAK;
            DEFAULT:
                $dag = ($slutdag - $startdag) + 31;
            BREAK;
        }
        }
    } else {
        $aar--;
        $md = ($slutmd - $startmd) + 12;
        if($slutdag >= $startdag)
        {
            $dag = $slutdag - $startdag;
        } else {
        switch($slutmd)
        {
            case 3:
                $dag = ($slutdag - $startdag) + 28;
            BREAK;
            case 5:
            case 7:
            case 10:
            case 12:
                $dag = ($slutdag - $startdag) + 30;
            BREAK;
            DEFAULT:
                $dag = ($slutdag - $startdag) + 31;
            BREAK;
        }
        }
    }
echo $aar . " år , ". $md . " måned(er) og " . $dag . " dage.";
?>

//sostack
Avatar billede sostack Nybegynder
02. september 2003 - 12:46 #4
Rettelse:
<?php
//dato der skal regnes fra
$startdag = 14;
$startmd = 12;
$startaar = 2002;
$slutdag = date("d");
$slutmd = date("m");
$slutaar = date("Y");
//beregninger
    $aar = $slutaar - $startaar;
    if($slutmd >= $startmd)
    {
        $md = $slutmd - $startmd;
        if($slutdag >= $startdag)
        {
            $dag = $slutdag - $startdag;
        } else {
        switch($slutmd)
        {
            case 3:
                if($md == 0)
                {
                    $aar--;
                    $md += 11;
                } else {
                    $md--;
                }
                $dag = ($slutdag - $startdag) + 28;
            BREAK;
            case 5:
            case 7:
            case 10:
            case 12:
                if($md == 0)
                {
                    $aar--;
                    $md += 11;
                } else {
                    $md--;
                }
                $dag = ($slutdag - $startdag) + 30;
            BREAK;
            DEFAULT:
                if($md == 0)
                {
                    $aar--;
                    $md += 11;
                } else {
                    $md--;
                }
                $dag = ($slutdag - $startdag) + 31;
            BREAK;
        }
        }
    } else {
        $aar--;
        $md = ($slutmd - $startmd) + 12;
        if($slutdag >= $startdag)
        {
            $dag = $slutdag - $startdag;
        } else {
        switch($slutmd)
        {
            case 3:
                $md--;
                $dag = ($slutdag - $startdag) + 28;
            BREAK;
            case 5:
            case 7:
            case 10:
            case 12:
                $md--;
                $dag = ($slutdag - $startdag) + 30;
            BREAK;
            DEFAULT:
                $md--;
                $dag = ($slutdag - $startdag) + 31;
            BREAK;
        }
        }
    }
echo $aar . " år , ". $md . " måned(er) og " . $dag . " dage.";
?>

//sostack
Avatar billede cbnimann Nybegynder
02. september 2003 - 14:18 #5
det bliver kun dårligere med ohmish svar så det er afvist

jeg prøver sostack svar i aften og ser om det kan bruges
men jeg syntes ikke det skriver noget om "jeg er så gamle"

cb
Avatar billede cbnimann Nybegynder
02. september 2003 - 21:40 #6
hej sostack

Jeg har prøvet dit script det virker ok, men det udskriver ikke dagen idag
det med at ud skriv noget text kunne jeg godt selv finde ud af men ikke
at få dagen idag skrevet ud på samme linie se http://star-sound.dk/mia
for oven jeg har pt rette script manuel så det skriver rigtigt ud
hvis du kan mod. dit script så det skriver det jeg ønsker skal du nok få point

cb
Avatar billede cbnimann Nybegynder
02. september 2003 - 21:43 #7
hov du kan se dit script virke her, jeg har indført noget text et ord "jeg"
bare som prøve. dagen i dag mangler! http://star-sound.dk/dato.php
sostack
cb
Avatar billede sostack Nybegynder
04. september 2003 - 12:48 #8
<?php
//dato der skal regnes fra
$startdag = 14;
$startmd = 12;
$startaar = 2002;
$slutdag = date("d");
$slutmd = date("m");
$slutaar = date("Y");
//beregninger
    $aar = $slutaar - $startaar;
    if($slutmd >= $startmd)
    {
        $md = $slutmd - $startmd;
        if($slutdag >= $startdag)
        {
            $dag = $slutdag - $startdag;
        } else {
        switch($slutmd)
        {
            case 3:
                if($md == 0)
                {
                    $aar--;
                    $md += 11;
                } else {
                    $md--;
                }
                $dag = ($slutdag - $startdag) + 28;
            BREAK;
            case 5:
            case 7:
            case 10:
            case 12:
                if($md == 0)
                {
                    $aar--;
                    $md += 11;
                } else {
                    $md--;
                }
                $dag = ($slutdag - $startdag) + 30;
            BREAK;
            DEFAULT:
                if($md == 0)
                {
                    $aar--;
                    $md += 11;
                } else {
                    $md--;
                }
                $dag = ($slutdag - $startdag) + 31;
            BREAK;
        }
        }
    } else {
        $aar--;
        $md = ($slutmd - $startmd) + 12;
        if($slutdag >= $startdag)
        {
            $dag = $slutdag - $startdag;
        } else {
        switch($slutmd)
        {
            case 3:
                $md--;
                $dag = ($slutdag - $startdag) + 28;
            BREAK;
            case 5:
            case 7:
            case 10:
            case 12:
                $md--;
                $dag = ($slutdag - $startdag) + 30;
            BREAK;
            DEFAULT:
                $md--;
                $dag = ($slutdag - $startdag) + 31;
            BREAK;
        }
        }
    }
echo "Idag, " .$slutdag . "-" . $slutmd . "-" . $slutaar . ", er jeg " . $aar . " år , ". $md . " måned(er) og " . $dag . " dage gammel.";
?>

//sostack
Avatar billede cbnimann Nybegynder
04. september 2003 - 19:45 #9
Hej igen

jeg har fået dit script til at virke det eneste der mangler er at få det til at lade være med at udskrive noget hvis tal er 0 i år mdr. og dag hvis det er muligt det kunne det gamle det er den funktion jeg bare pt har ændret til skriv ikke noget hvis år = 1
hvis du ikke vil hjælpe mere skal du ha' point
jeg har selv lavet fed skrift og det er centret se her http://star-sound.dk/dato.php

cb
Avatar billede sostack Nybegynder
05. september 2003 - 13:53 #10
Udskift denne linie:
echo "Idag, " .$slutdag . "-" . $slutmd . "-" . $slutaar . ", er jeg " . $aar . " år , ". $md . " måned(er) og " . $dag . " dage gammel.";

med dette:

$skrivdag = "";
$skrivmd = "";
$skrivaar = "";
if($aar != 0)
{
    $skrivaar = $aar . " år , ";
}
if($md != 0)
{
    $skrivmd = $md . " måned(er)";
}
if($dag != 0)
{
    $skrivdag = " og " . $dag . " dage gammel.";
}
echo "Det er i dag den " .$slutdag . "-" . $slutmd . "-" . $slutaar . " så er jeg " . $skrivaar . $skrivmd . $skrivdag;

//sostack
Avatar billede cbnimann Nybegynder
05. september 2003 - 17:25 #11
Hej Sostack

så køre det bare helt som det skal
TAK for hjælpen

cb
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