CMS Made Simple Forums
https://forum.cmsmadesimple.org/

Leeftijd berekenen
https://forum.cmsmadesimple.org/viewtopic.php?f=52&t=57119
Page 1 of 1

Author:  Jos [ Wed Oct 05, 2011 4:51 pm ]
Post subject:  Leeftijd berekenen

Je hebt wel eens van die sites waar een biografie op staat waar de site-eigenaar zijn/haar leeftijd in vermeld heeft.

Bij het maken van de site wordt dat natuurlijk netjes ingevuld, maar jaren later zie je dat de betreffende persoon geen enkel graadje ouder is geworden.

Hierbij een UDT (user defined tag) die dat oplost. In plaats van de werkelijke leeftijd, vul je een aanroep naar de tag in, bijvoorbeeld zo:
\$1:
<p>Mijn naam is beppie, ik ben {Age birthday='1980-01-31'} jaar en ik doe MiepMiep na....</p>


Om de tag te kunnen gebruiken, maak je een nieuwe UDT aan met naam "Age" en plak onderstaande code erin:
\$1:
if ( isset($params['birthday']) )
{
  list($year,$month,$day) = explode('-',$params['birthday']);
  if ( checkdate ($month, $day, $year) )
  {
    $age = Date('Y') - $year - (int)(($month * 100 + $day) > Date(md));
    echo $age;
  }
  else
  {
    echo '&lt;Parameter birthday is not valid (yyyy-mm-dd)&gt;';
  }
}
else
{
  echo '&lt;Parameter birthday is not set&gt;';
}

Author:  Rolf [ Fri Dec 02, 2011 4:27 pm ]
Post subject:  Re: Leeftijd berekenen

Humm, deze UDT geeft voor mij een verkeerde leeftijd... Als ik mijn geboortedag invoer dan geeft deze iedere keer 42 aan... Dit terwijl ik toch al jaren 27 ben :D

Maar leuke UDT Jos! Brengt me weer op ideƫen ;)

grtz. Rolf

Author:  Rolf [ Tue Apr 21, 2015 12:46 pm ]
Post subject:  Re: Leeftijd berekenen

In verband met:
\$1:
Notice: Use of undefined constant md - assumed 'md' in /public/sites/www.website.nl/lib/classes/class.usertagoperations.inc.php(265) : eval()'d code on line 6

\$1:
Date(md)
in de UDT aanpassen in:
\$1:
Date('md')
Dan werkt hij weer zonder melding...

grtz. Rolf

Author:  pasmaskas [ Tue Apr 21, 2015 1:42 pm ]
Post subject:  Re: Leeftijd berekenen

Hmm bij mij doet hij ook raar ??? hij zegt dat ik 30 ben maar ben 18 heeft vast met die Notice te maken idd

Author:  Rolf [ Thu Jan 31, 2019 6:25 pm ]
Post subject:  Re: Leeftijd berekenen

Ik heb de UDT nu gebruikt op mijn website om te tonen hoe lang geleden een bepaalde gebeurtenis plaats heeft gevonden:
https://pneumatic.tube/calendar

UDT CalculateAge
\$1:
if ( isset($params['date']) )
{
  list( $day, $month, $year ) = explode( '-', $params['date'] );

  if ( checkdate ($month, $day, $year) )
  {
    $age = date('Y') - $year - (int)(($month * 100 + $day) > date('md'));
    echo $age;
  }
  else
  {
    echo '&lt;Parameter date is not valid (dd-mm-yyyy)&gt;';
  }
}
else
{
  echo '&lt;Parameter date is not set&gt;';
}

\$1:
{CalculateAge date='dd-mm-yyyy'}

De parameter wordt gevuld vanuit de LISE module.
\$1:
({CalculateAge date=$item->fielddefs.date|date_format:'%d-%m-%Y'|default:'0'} years ago)

Author:  arnoud [ Sun Feb 03, 2019 9:13 pm ]
Post subject:  Re: Leeftijd berekenen

Ook te doen met SQL, je maakt '1970-02-01' dan een variable.

SELECT TIMESTAMPDIFF(YEAR, '1970-02-01', CURDATE()) AS age

Page 1 of 1 All times are UTC
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/