Forum Webmastera, HTML, CSS, PHP, MySQL, Hosting, Domeny - Forum dla Webmasterów
[MySQL] Ustalanie wieku na podstawie roku urodzenia - Wersja do druku

+- Forum Webmastera, HTML, CSS, PHP, MySQL, Hosting, Domeny - Forum dla Webmasterów (https://www.webmastertalk.pl)
+-- Dział: Technologie internetowe - tworzenie stron WWW (https://www.webmastertalk.pl/forum-technologie-internetowe-tworzenie-stron-www)
+--- Dział: Programowanie, Bazy danych (https://www.webmastertalk.pl/forum-programowanie-bazy-danych)
+--- Wątek: [MySQL] Ustalanie wieku na podstawie roku urodzenia (/thread-mysql-ustalanie-wieku-na-podstawie-roku-urodzenia)



[MySQL] Ustalanie wieku na podstawie roku urodzenia - Szorstki - 13-06-2009

Witam.
Mam bazę danych, w której znajduje się encja "CZYTELNICY", oraz dla każdego, m.in, atrybut "rok urodzenia".
Jak wykonać obliczanie wieku czytelnika, przy jego tworzeniu?

Podejrzewam, że trzeba stworzyć atrybut "wiek", a do encji dorobić jakiegoś triggera...
Byłbym wdzięczny za wskazówki Smile


RE: [MySQL] Ustalanie wieku na podstawie roku urodzenia - kajzur - 13-06-2009

Może wybierz po prostu ten wiek, i odejmij tak:

Kod PHP:
<?

$data_aktualna 
date("Y");
$wiek $data_aktualna $rok_z_bazy;



?>
I zapisz to do bazy.. Ale nie wiem czy o to Ci chodzi.


RE: [MySQL] Ustalanie wieku na podstawie roku urodzenia - Szorstki - 13-06-2009

Niestety nie o to, robię samą bazę, bez żadnego PHP... sesja, projekty Wink

Muszę mieć w bazie jedną procedurę i jednego triggera, zastanawiam się gdzie to powsadzać żeby było z sensem Tongue
Wstawiam link do diagramu erd w razie czego: http://imgur.com/tENmo.png


RE: [MySQL] Ustalanie wieku na podstawie roku urodzenia - KowR - 13-06-2009

Hmmm... W zapytaniu odjąć datę?

Kod:
UPDATE czytelnicy SET rok_urodzenia = 2009 - rok_urodzenia WHERE id = 5; // przykład, zmieniasz do swoich wymagań :)



RE: [MySQL] Ustalanie wieku na podstawie roku urodzenia - Szorstki - 13-06-2009

Nie no, jak zmienić, to wiem... chodziło tylko o to, czy trigger może wyliczać ten wiek. Ale nawet gdyby mógł, to trzebaby go uruchamiać co roku Smile


RE: [MySQL] Ustalanie wieku na podstawie roku urodzenia - KowR - 13-06-2009

Tzn. wszystko automatycznie ma być tak?

Kod:
UPDATE czytelnicy SET rok_urodzenia = NOW() - rok_urodzenia WHERE id = 5; // przykład, zmieniasz do swoich wymagań :)

Sprawdź teraz, powinno działać i będzie się samo non stop zmieniało, bo NOW() pobiera Ci datę w czasie wywoływania zapytania.


RE: [MySQL] Ustalanie wieku na podstawie roku urodzenia - BlueMan - 16-06-2009

Ale to jest bardzo duża ilość zapytań jeśli cały czas ma ci to aktualizować... .

No i nie widzę sensu, aby trzymać w bazie aktualny wiek użytkownica. Takie rzeczy dynamicznie w PHP przy wyświetlaniu strony się robi.
Chyba, że jakieś ukryte znaczenie w Twojej stornie to ma... .


RE: [MySQL] Ustalanie wieku na podstawie roku urodzenia - KowR - 16-06-2009

BlueMan - on to robi na uczelnie, projekt bazy danych czy coś takiego... Chciał to dostał rozwiązanie - ubogie, bo ubogie, ale zawsze jakieś. Ja również uważam, że jest to bez sensu. ;]