Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 168 Pomógł: 1 Dołączył: 19.11.2005 Ostrzeżenie: (0%)
|
Witam,
Próbuję napisać funkcję, która umieściłaby mi id wszystkich przodków w bazie danych. Stworzyłem tabelę 'przodkowie' w bazie o strukturze, która ma strukturę: nr, osoba, pokolenie, przodkowie (przodkowie w formacie "ojciec,matka") Zacząłem pisać też funkcję która znajdzie mi wszystkich przodków. Wygląda mniej więcej tak:
Teraz właśnie utknąłem. Chciałbym rekurencyjnie w funkcji przodkowie wywołać ją jeszcze raz, ale żeby pobrała przodków ojca i matki i dodała do bazy danych. Wiadomo, że w każdym pokoleniu będzie tego więcej i tak w 2 pokoleniu będą już 4 osoby, w 3 będzie 8 itd, zaś czasem nie będzie w ogóle (z braku danych). Mógłby ktoś coś podpowiedzieć? Chodzi mi o zasadę, nie gotowy kod. |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 168 Pomógł: 1 Dołączył: 19.11.2005 Ostrzeżenie: (0%)
|
Mam tabelę 'osoby', gdzie są różne dane dotyczące osób, w tym nr matki i ojca (również z tabeli 'osoby').
Chcę teraż w tabeli przodkowie utworzyć na podstawie tej tabeli wszystkich przodków danej osoby. Kod wyżej pobiera z tabeli osoby nr ojca i matki i tworzy stosowny rekord w tabeli przodkowie, np: 1/45/1/25,46 (odpowiednio id/osoba/pokolenie/nr ojca, nr matki). Nie wiem niestety jak to rozwiązać, żeby pobrać dalsze dane na podstawie tabeli osoby i utworzyć rekord 2/45/2/76,67,89,54 (id/osoba/pokolenie/nr dziadka, nr babki, nr dziadla, nr babki). Myślę żeby wywołać jeszcze raz funkcję przodkowie, tylko nie za bardzo wiem jak ją przerobić, żeby było dobrze. |
|
|
|
MalyKazio Genealogia - wypisywanie przodków. 25.10.2007, 19:59:49
juzwa Próbuję napisać funkcję, która umieściłaby mi id w... 26.10.2007, 09:25:22 ![]() ![]() |
|
Aktualny czas: 26.12.2025 - 16:57 |