Avatar billede neonman Nybegynder
13. maj 2006 - 18:47 Der er 10 kommentarer

Førlsdags kun med dage måndere og års tal

Sider med et lille problem det er når jeg vil lave sådan en her


21-10-1985 om til at finde ud af hvor mange år denne dato er så er det igen problem smider jeg den i gennem med denne her eks.

8-1-1989 så vil den sige 16 år i sted for 17 så det er som om det er noget med "0" at gøre min Class til dette ser så leds ud

public function FinAlder($AlderInput,$JustYear = 'no'){
        $dato = date("d-m");
        $foeddag = explode("-",$AlderInput);
        $fdag = $foeddag[0] ."-". $foeddag[1];
       
        if ($dato == $fdag) {
            $FdagOk = "&nbsp;&nbsp;<img src='birth.jpg' width='20' height='13' alt='Brugeren har fødselsdag'>";
        }
       
        $FdagYear = date('Y') - $foeddag[2];
        $FdagMdr  = date('m') - $foeddag[1];
        $FdagDay  = date('d') - $foeddag[0];
       
        if ($FdagMdr >= 0) {
            if ($FdagMdr == 0 AND $FdagDay < 0) {
                    $FdagYear = $FdagYear - 1;
            }
            elseif ($FdagMdr < 0) {
                $FdagYear = $FdagYear - 1;
            }
            else {
                $FdagYear = $FdagYear - 1;
            }
        }
        else {
            $FdagYear = $FdagYear - 1;
        }
       
        if ($JustYear == 'yes') {
            $AlderPostOut .= $FdagYear .' år';           
        }
        elseif ($JustYear == "yes_whit_out_aar") {
            $AlderPostOut .= $FdagYear;
        }
        else {
            $AlderPostOut .= $FdagYear ." år [ ". $AlderInput ." ]". $FdagOk;           
        }
       
        return $AlderPostOut;
    }

men forstår bare ikke helt hvorfor det ikke funger hvis det ikke er 2 ciftert tal så fucker antal år bare op :/
Avatar billede showsource Seniormester
13. maj 2006 - 21:00 #1
Til lige netop den måde at gemme dato på, kan du bruge:

<?php

function alder($var) {

    if(trim($var) !="") {
    $nu = date("d-m-Y", time());
    $split1 = explode("-", $var);
    $split2 = explode("-", $nu);

        if($split2[1] . $split2[0] >= $split1[1] . $split1[0]) {
        $antal_aar = ($split2[2]-$split1[2]);
        }else{
        $antal_aar = (($split2[2]-$split1[2])-1);
        }

    return $antal_aar ." &aring;r";

    }else{
    return "n/a";
    }
}

echo alder("8-1-1989");

?>
Avatar billede neonman Nybegynder
13. maj 2006 - 21:50 #2
Det er bare total super :) smid svar det funger kanont ;) lige det jeg manglet og det var også en del minder end det jeg slev hade forsøgt mig frem til men hvad betyder ( trim($var) ) som du har skrevet....
Avatar billede showsource Seniormester
13. maj 2006 - 22:28 #3
trim() fjerner "luft" før og efter en streng

$streng = "

Hej du!


Hva'så




";
echo trim($streng);
Avatar billede neonman Nybegynder
18. maj 2006 - 21:43 #4
hmmm der er lige en lille fejl her .... en af mine bruger klager over han har skrevet

5-11-1990 og den sige rså han er 15 men han er kun 14.... hvad kan det skyldes? :)
Avatar billede showsource Seniormester
29. maj 2006 - 20:39 #5
Må jo så være noget med hvordan du håndterer formen.
Den alder er jo også 16?
Avatar billede showsource Seniormester
29. maj 2006 - 20:40 #6
(med simpel hovedregning) :O)
Avatar billede neonman Nybegynder
29. maj 2006 - 21:51 #7
Hvordan køre du den igennem når du køre den? for så kan jeg lige tjecke om vi køre den ens igennem :) for måske er det mig der har en fejl her fra :)
Avatar billede showsource Seniormester
29. maj 2006 - 22:06 #8
hmm. bruger den her,
http://users.showsource.dk/
men er nu gået bort fra IKKE at brge date i mysql til datoen.

Altså, der tre selects, dag, måned og og år
Derefter checkdate() om dato er gyldig, og hvis den er, gemmes den som date i mysql.
(Y-m-d)

Og så hentet fra manualen, (mysql), flg. query til at hente alder:

"SELECT (YEAR(CURDATE())-YEAR(birth))-(RIGHT(CURDATE(), 5)<RIGHT(birth, 5)) as `alder` FROM database"
Avatar billede neonman Nybegynder
28. oktober 2008 - 12:14 #9
takker, smid et svar, :0) så får du dine points, du har 1 uge :0) da spg'et er remlig gammelt.
Avatar billede showsource Seniormester
28. oktober 2008 - 12:23 #10
Ja, det var da godt nok en gammel sag!
Du får lige et svar...
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