Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Genealogia - wypisywanie przodków.
MalyKazio
post
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:
  1. <?php
  2. function przodkowie($osoba, $pokolenie=1) {
  3.  
  4. $q="SELECT * from osoby where nr=$osoba";
  5. $wynik = mysql_query($q);
  6. $wstepni="$ojciec, $matka";
  7.  
  8. insert into przodkowie(nr, osoba, pokolenie, przodkowie) values ('',$osoba,$pokolenie,$wstepni)
  9.  
  10. }
  11. ?>


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.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
juzwa
post
Post #2





Grupa: Zarejestrowani
Postów: 144
Pomógł: 0
Dołączył: 10.07.2006

Ostrzeżenie: (0%)
-----


Próbuję napisać funkcję, która umieściłaby mi id wszystkich przodków w bazie danych
czyli gdzie te dane są?

z tego co rozumiem to są w bazie i trzeba z tabeli A przenisć do tabeli B

ja bym to zrobił tak

1 - pobrał DISTINCTEM wszystkich członków rodziny
2 - w pętli dla każdego członka rodziny wyszukiwałbym jego przodków
3 - tak zebrane dane przygotowałbym i wpisywałbym do tabeli B

i chyba wszystko
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 27.12.2025 - 00:36