PHP a dátum

Programovacie jazyky, rady, poradňa...
atlox
Light Star
Light Star
Používateľov profilový obrázok
Príspevky: 230
Registrovaný: 15 aug 2006, 0:31
Bydlisko: Poprad
Kontaktovať používateľa:

PHP a dátum

Príspevok od používateľa atlox »

:) zdravím všetkých!

Ľudia neviete mi poradiť ako by som urobil to, že:
1.) zadám deň, mesiac a rok svojho narodenia
2.) podľa tohoto dátumu bude PHP kontrolovať môj vek
3.) malo by to byť v databáze MySQL

nejako mi to poslednú dobu nepáli... :cry: PLS poraďte... budem veeeeľmi vďačný! Vopred vďaka :!:
shanoy
Star
Star
Používateľov profilový obrázok
Príspevky: 509
Registrovaný: 30 sep 2006, 8:02
Bydlisko: Brezovapolis
Kontaktovať používateľa:

Príspevok od používateľa shanoy »

Kód: Vybrať všetko

http://eroxia.net/tutorial/278-vypocet-veku-pomocou-php
no nieje to co ces ty ale je to dost podobne, ale zlozite.
atlox
Light Star
Light Star
Používateľov profilový obrázok
Príspevky: 230
Registrovaný: 15 aug 2006, 0:31
Bydlisko: Poprad
Kontaktovať používateľa:

Príspevok od používateľa atlox »

:cry: no možno by to aj sedelo len by som bol radšej keby to bolo jednoduchšie a pochopil by som to...
Fata! ChaoS
Star
Star
Používateľov profilový obrázok
Príspevky: 650
Registrovaný: 12 apr 2006, 20:23
Bydlisko: Tvrdošovce
Kontaktovať používateľa:

Príspevok od používateľa Fata! ChaoS »

Myslíš, nejak takto?

Kód: Vybrať všetko

<?php
$roknarodenia = "1978";
$vek = date ('Y') - $roknarodenia;
echo $vek;
?>
Jasneže tá premenná $roknarodenia by sa dalo do formulára.
A keď chceš ktomu ešte presnejšie, že na dni tak už vieš jak nie? Alebo ti mám napísať?
atlox
Light Star
Light Star
Používateľov profilový obrázok
Príspevky: 230
Registrovaný: 15 aug 2006, 0:31
Bydlisko: Poprad
Kontaktovať používateľa:

Príspevok od používateľa atlox »

:? :( PLS budeš tak dobry a napišeš mi to? Potreboval by som to tak podrobnejšie aj na tie dni...
chrono
VIP
VIP
Používateľov profilový obrázok
Príspevky: 7127
Registrovaný: 25 dec 2006, 15:17

Príspevok od používateľa chrono »

PHP a dátum sa tu už riešili: http://www.hojko.com/viewtopic.php?t=64741
atlox
Light Star
Light Star
Používateľov profilový obrázok
Príspevky: 230
Registrovaný: 15 aug 2006, 0:31
Bydlisko: Poprad
Kontaktovať používateľa:

Príspevok od používateľa atlox »

:cry: Ale v tej téme to bolo take všelijake len nie dobré... :?

//edit: možno to dobré je, ale ja tomu absolutne nechápem...
chrono
VIP
VIP
Používateľov profilový obrázok
Príspevky: 7127
Registrovaný: 25 dec 2006, 15:17

Príspevok od používateľa chrono »

Sú tam aj funkčné skripty (napr. aj ten môj) :)
atlox
Light Star
Light Star
Používateľov profilový obrázok
Príspevky: 230
Registrovaný: 15 aug 2006, 0:31
Bydlisko: Poprad
Kontaktovať používateľa:

Príspevok od používateľa atlox »

chrono PLS buď taky dobry a hoď sem kompletny skript :(
Fata! ChaoS
Star
Star
Používateľov profilový obrázok
Príspevky: 650
Registrovaný: 12 apr 2006, 20:23
Bydlisko: Tvrdošovce
Kontaktovať používateľa:

Príspevok od používateľa Fata! ChaoS »

Už som ti to napísal

Kód: Vybrať všetko

<?php
$mesiace= array("január", "február", "marec", "apríl", "máj", "jún", "júl", "august ", "september ", "október", "november", "december");
$month = $mesiace[Date ("n") - 1];
$day = date("j");
$den = "16"; // formular
$mesiac = "apríl"; // formular
$roknarodenia = "1992"; // formular
$vek = date ('Y') - $roknarodenia;
if (($month == $mesiac) && ($day ==  $den)):
$vek = $vek + 1;
endif;
echo $vek;
?>
kde je formulár tak to daj potom do nejakého formulára alebo do niečoho takého. :wink: Trošku mi to trvalo, bo som ešte v php začiatočník, ale toto mi zato ide.
atlox
Light Star
Light Star
Používateľov profilový obrázok
Príspevky: 230
Registrovaný: 15 aug 2006, 0:31
Bydlisko: Poprad
Kontaktovať používateľa:

Príspevok od používateľa atlox »

:) Fata! ChaoS juuu.... diky... počíta to vek presne na dni? že ak by som mal zajtra narodeniny tak dnes mi ukáže 18 a zajtra 19??
Fata! ChaoS
Star
Star
Používateľov profilový obrázok
Príspevky: 650
Registrovaný: 12 apr 2006, 20:23
Bydlisko: Tvrdošovce
Kontaktovať používateľa:

Príspevok od používateľa Fata! ChaoS »

JJ, lenže mám tam jednu chybičku keď ju opravým dám sem script zatial do neber.
atlox
Light Star
Light Star
Používateľov profilový obrázok
Príspevky: 230
Registrovaný: 15 aug 2006, 0:31
Bydlisko: Poprad
Kontaktovať používateľa:

Príspevok od používateľa atlox »

počuj dalo by sa to urobiť aj tak, že dátum narodenia by bol v databáze uložený v tvare DD/MM/RRRR a z toho by sa to počítalo :?: :?: :?:
Fata! ChaoS
Star
Star
Používateľov profilový obrázok
Príspevky: 650
Registrovaný: 12 apr 2006, 20:23
Bydlisko: Tvrdošovce
Kontaktovať používateľa:

Príspevok od používateľa Fata! ChaoS »

Tu je opravené

Kód: Vybrať všetko

<?php 
$mesiace= array("január", "február", "marec", "apríl", "máj", "jún", "júl", "august ", "september ", "október", "november", "december"); 
$month = $mesiace[Date ("n") - 1]; 
$day = date("j"); 
$den = "16"; // formular 
$mesiac = "máj"; // formular 
$roknarodenia = "1992"; // formular 
$vek = date ('Y') - $roknarodenia; 
if (($mesiac >= $month) && ($den >= $day)): 
$vek = $vek + 1; 
endif; 
echo $vek; 
?>
No asi to už bude nad moje vedomosti, lebo ja som s databázou ešte moc nepracoval, jedine v phpbb. Ešte by som v MySQL vedel spraviť tabuľku preto, ale v php by som t nevedel napísať aby to spracovalo, viem že je to niečo stým querty alebo niečo, ale tam ešte nie som s php, ale chrono ti podľa mňa vie stým pomôcť.


PS: Ináč díky, že si potreobval stýmto pomôcť, lebo kebyže ja potrebujem takéto tak to sám nespravím, ale dám iným. Ale keď mám niekomu pomôcť stým tak sa posnažím, jednoducho mám také gény. A teraz som si konečne vyskúšal vedomosti v praxy aj keď to je jednoduchá vec.
atlox
Light Star
Light Star
Používateľov profilový obrázok
Príspevky: 230
Registrovaný: 15 aug 2006, 0:31
Bydlisko: Poprad
Kontaktovať používateľa:

Príspevok od používateľa atlox »

Hmm... počuj ak tam daš hodnoty 15. apríl 1992 a 17. apríl 1992 tak pri tom prvom dátume mi vypíše 15 rokov a pri tom druhom 16... nevieš prečo? :?




PS: ja som na tom presne tak isto s tým pomáhaním...
Fata! ChaoS
Star
Star
Používateľov profilový obrázok
Príspevky: 650
Registrovaný: 12 apr 2006, 20:23
Bydlisko: Tvrdošovce
Kontaktovať používateľa:

Príspevok od používateľa Fata! ChaoS »

Jasneže viem, lebo ja som do toho skriptu udal akoby som mal narodky 16. apríla 1992, čiže ak bude 16 apríla tak sa k veku pridá + 1 a už ďalej je logické, že prečo je to už 16 rokov.
atlox
Light Star
Light Star
Používateľov profilový obrázok
Príspevky: 230
Registrovaný: 15 aug 2006, 0:31
Bydlisko: Poprad
Kontaktovať používateľa:

Príspevok od používateľa atlox »

ano správne.. ale keď ten dátum zmením tak tie hodnoty nesedia...
Fata! ChaoS
Star
Star
Používateľov profilový obrázok
Príspevky: 650
Registrovaný: 12 apr 2006, 20:23
Bydlisko: Tvrdošovce
Kontaktovať používateľa:

Príspevok od používateľa Fata! ChaoS »

čo nesedí? Veď keď zmeníš rok narodenia tak pravdaže sa to zmení, lebo dneska je 16. apríla a ak dáš narodky na 15. apríla tak jasneže bude mať len 16 rokov a keď dáš narodky na 17. apríla tak bude mať 16 rokov, ale niečo mi nesedí. Ja mám narodky 22.02.1992 a mám 15 a nemôžem mať vtomto roku 16 rokov, keďže som 92. Tak mám takm fakt ešte jednu chybu.
Fata! ChaoS
Star
Star
Používateľov profilový obrázok
Príspevky: 650
Registrovaný: 12 apr 2006, 20:23
Bydlisko: Tvrdošovce
Kontaktovať používateľa:

Príspevok od používateľa Fata! ChaoS »

konečne opravené

Kód: Vybrať všetko

<?php
$mesiace= array("január", "február", "marec", "apríl", "máj", "jún", "júl", "august", "september", "október", "november", "december");
$month = $mesiace[Date ("n") - 1];
$day = date("j");
$den = "16"; // formular
$mesiac = "apríl"; // formular
$roknarodenia = "1992"; // formular
$vek = date ('Y') - $roknarodenia - 1;
if (($month >= $mesiac) && ($day >=  $den)):
$vek = $vek + 1;
endif;
echo $vek;
?>
Fata! ChaoS
Star
Star
Používateľov profilový obrázok
Príspevky: 650
Registrovaný: 12 apr 2006, 20:23
Bydlisko: Tvrdošovce
Kontaktovať používateľa:

Príspevok od používateľa Fata! ChaoS »

sorry :oops: našiel som si tam chybu tak som to prerobil trošku :lol:
vravel si aby to bolo jednoduché, nie že krátke. :)

Kód: Vybrať všetko

<?php
$mesiace= array("január", "február", "marec", "apríl", "máj", "jún", "júl", "august ", "september ", "október", "november", "december");
$month = Date ("n");
$day = date("j");
$den = "22"; // formular
$mesiac = "február"; // formular
$roknarodenia = "1992"; // formular
if ($mesiac == január):
$i = "1";
endif;
if ($mesiac == február):
$i = "2";
endif;
if ($mesiac == marec):
$i = "3";
endif;
if ($mesiac == apríl):
$i = "4";
endif;
if ($mesiac == máj):
$i = "5";
endif;
if ($mesiac == jún):
$i = "6";
endif;
if ($mesiac == júl):
$i = "7";
endif;
if ($mesiac == august):
$i = "8";
endif;
if ($mesiac == september):
$i = "9";
endif;
if ($mesiac == október):
$i = "10";
endif;
if ($mesiac == november):
$i = "11";
endif;
if ($mesiac == december):
$i = "12";
endif;
$mesiacc = $i;
$vek = date ('Y') - $roknarodenia -1;
if (($month == $mesiacc) && ($day >=  $den) || ($mesiacc < $month)):
$vek = $vek + 1;
endif;
echo $vek;
?>
Napísať odpoveď