Pereiti prie turinio

[Mysql] Reikia pagalbos


Rekomenduojami pranešimai

Turiu stulpelį birthdate kuriame kaip matote apačioje yra žmogaus gimimo data(po jos eina dar daug datų).

http://www.part.lt/img/05e0b9f7605c971fd51e07060a11f24f246.gif

Kaip jūsų manymu galėčiau sužinoti kiek šiam žmogui yra metų?(pats tikrai neskaičiuosiu :) )

Ar tai galėtų būt kokio naujo stulpelio sukūrimas ir įrašymas į jį žmogaus amžių. bet esmė tame, kad kiekvienais metai amžiaus informacija turi keistis kai yra žmogaus gimtadienis.

Redagavo DB92
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Truputi pagalvojęs išmislijau :)

$data_is_mysql="1990 2 2";
$data_x=explode(" ",$data_is_mysql);
$metai=$data_x["0"];
$menuo=$data_x["1"];
$diena=$data_x["2"];

$data_y=date("Y-m-d", strtotime("-$menuo months $diena days"));

$metai_x=explode("-",$data_y);
$metai_x=$metai_x["0"];

$pagaliau_kiek_metu = $metai_x - $metai;

echo $pagaliau_kiek_metu;

 

O čia truputi aptvarkius :)

function kiek_metu($data_is_mysql)
{
$data_x=explode(" ",$data_is_mysql);
$data_y=date("Y-m-d", strtotime("-".$data_x["1"]." months ".$data_x["2"]." days"));
$metai_x=explode("-",$data_y);
$pagaliau_kiek_metu = $metai_x["0"] - $data_x["0"];
return $pagaliau_kiek_metu;
}

$kiek_metu=kiek_metu("1900 12 2");
echo $kiek_metu;

Redagavo crezzyman
Nuoroda į pranešimą
Dalintis kituose puslapiuose

ziogai ivesk i savo sc 1790 11 5 ir db pasakyk kas netaip :)

 

ivedus "1790 11 5"

tavo: 38

mano: 217

 

 

http://lt2.php.net/strtotime

 

timestamp'as prasideda nuo unix epochos, 1970 metu, reiskias apsiziurejau. Anyway, siek tiek kitaip reik, taciau netikiu kad negalima apseiti be explodinimo

 

EDIT:

 

$date = date_parse($is_mysql);
$dabar = date_parse(date('Y-m-d'));
$metu = $dabar['year']-$date['year'];
if($date['month']>=$dabar['month'] && $date['day']>=$dabar['day'])
$metu -=1;

Redagavo ziogas
Nuoroda į pranešimą
Dalintis kituose puslapiuose

mano dar prieš metelius parašytas skriptas, kai dar tik pradėjau mokytis php :) (galima jį ir patobulint, bet veikia ir toks :) )

 

<?

$metai = 1989; //cia kaip pvz :)

$menesis = 12;

$diena = 12;

 

$metai_dabar = date(Y);

$menesis_dabar = date(n);

$diena_dabar = date(j);

 

$day_birthday = $diena;

$month_birthday = $menesis;

$year_birthday = $metai;

$day_today = $diena_dabar;

$month_today = $menesis_dabar;

$year_today = $metai_dabar;

 

$amzius = $year_today - $year_birthday;

 

if (($month_today < $month_birthday) || ($month_today == $month_birthday && $day_today < $day_birthday))

{

$amzius--;

}

?>

 

 

kintamasis $amzius yra amzius :D

 

P.S. dabar tik pastebėjau jog pusė eilučių čia nereikia (tų kintamūjų perskirymų reikšmių :), bet tegu jau tavo problema atsikast :) )

Redagavo korner
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Prisijunkite prie diskusijos

Jūs galite rašyti dabar, o registruotis vėliau. Jeigu turite paskyrą, prisijunkite dabar, kad rašytumėte iš savo paskyros.

Svečias
Parašykite atsakymą...

×   Įdėta kaip raiškusis tekstas.   Atkurti formatavimą

  Only 75 emoji are allowed.

×   Nuorodos turinys įdėtas automatiškai.   Rodyti kaip įprastą nuorodą

×   Jūsų anksčiau įrašytas turinys buvo atkurtas.   Išvalyti redaktorių

×   You cannot paste images directly. Upload or insert images from URL.

Įkraunama...
  • Dabar naršo   0 narių

    Nei vienas registruotas narys šiuo metu nežiūri šio puslapio.

×
×
  • Pasirinkite naujai kuriamo turinio tipą...