Gå til innhold

alder -> fdato, fmaned, far


Anbefalte innlegg

fikk en bra sak her en gang for en tid tilbake, hvor resultatet av tabellen fodselsar (som inneholder fdato, fmaned og far) ga hvor mange år en person var. men, nå vil jeg gjerne teste det andre vei, altså, en slags søkefunksjon på personer på f.eks. 35 år.

 

<?php

function getAgeByDate($iDay, $iMonth, $iYear) { 

  $iTimeStamp = (mktime() - 86400) - mktime(0, 0, 0, $iMonth, $iDay, $iYear); 

  $iDays = $iTimeStamp / 86400; 

  $iYears = floor($iDays / 365.25); 

  return $iYears; 

} 

?>

Lenke til kommentar
Videoannonse
Annonse

Vet ikke helt om jeg har skjønt deg rett men ...

Noe slikt du er ute etter?

 

$data[0] = Array(8,8,1970,"Billy");
$data[1] = Array(8,8,1980,"Bob");
$data[2] = Array(8,8,1990,"Billy-Bob");

identifyPeople(23,$data);

function identifyPeople($iAge,$data)
{
   foreach($data as $item)
   {
         $iDay      = $item[0];
         $iMonth = $item[1];
         $iYear    = $item[2]; 
         if (getAgeByDate($iDay,$iMonth,$iYear) == $iAge)    
        {
            echo("$item[3] er $iAge år gammel<br>"));
        }
   }
}

Endret av b-urn
Lenke til kommentar

det er bra du spør, for av og til er det lettere å forstå en hests gange enn mitt spørsmål :D

 

Nei, det som er greia, når en person oppgir fødselsdatoen sin, settes den inn i en tabell, den settes inn som dato, måned og år når personen er født. scriptet jeg presenterte gjør at jeg kan finne ut hvor gammel personen er. men, nå vil jeg finne alle som er f.eks. 35 år, dvs at jeg må på en eller annen finulig måte finne ut hvilket tidsrom vedkomne må være født, tror jeg.

Lenke til kommentar

Det fikser du lett med mktime:

 

$tid = mktime(0,0,0, date("m"), date("d"), date("Y")-35);

 

$bestemt_dag = date("d", $tid);

$bestemt_mnd = date("m", $tid);

$bestemt_år = date("Y", $tid);

 

Så velger du bare fra tabellen der CONCAT dag, mnd, år er mellom $bestemt_dag, $...mnd, $...år og $bestemt_dag, $...mnd, $...år + 1.

 

Det vil være lurt å bytte ut den delingen du har av tiden til et felt - et timestamp feltet.

Endret av ????????
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...