Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP] rekurencja sprawdzająca dane z mysql 2 zapytania + tablica
Forum PHP.pl > Forum > Przedszkole
ghastblood
Witam,

usiłuje napisać metodę która będzie sprawdzała mi pokrewieństwo w rodznie

chodzi mi o sprawdzenie pokrewieństwa do czwartego pokolenia wstecz nie wiem czy rekurencja będzie do tego odpowiadnia ale tak mi się wydaje.

a więc tak dla przykładu mamy baze psów w hodowlii

i chciał bym wyświetlić dane rodzeństwa rodziców dziadków pradziadków i prapradziadków


  1. public function checkRelationship($id){
  2.  
  3. $relation = $this->findById($id);
  4.  
  5. if(isset($relation['parents'])){
  6. $expl = explode(',', $relation['parents']);
  7. }
  8.  
  9. }


mamy metode w której chcemy sprawdzić psa o id = 32

otrzymujemy tablice z której mamy zawarte dane rodziców w postaci ciągu 30,29 zawsze samiec jest pierwszy potem samica wydaje mi się że powiniśmy sprawdzić czy rekord istnieje w bazie danych więc robimy warunk, jeźeli warunek jest spełniony wykonujemy explode aby przerobić ciąg na tablice. Niestety dalej nie wiem jak rozwiązac mój problem. Powinniśmy sprawdzić czy dany ciąg(30,29) występuje w innych rekordach(uzyskamy w ten sposób rodzeństwo), id rodziców mamy więc na odstrzał powinni pójść dziadkowie więc trzeba sprawdzić czy id 30 oraz 29 mają przypisanych rodziców i z id dziadków idzie dalej tak jak z rodzicami oraz trzeba jakoś dane zapisywać do tablicy.












Damonsson
Ale gdzie problem? No przez rekurencję możesz na przykład.

Jak dobrze zaprojektujesz bazę, to wyciągniesz sobie już gotowe drzewo podejrzewam.
ghastblood
właśnie nie mam pomysłu na tą rekurencję i w tym problem. Nie wiem jak mógł bym zapisywać do tablicy wyniki każdej pętli a każdy osobnik zwraca mi 2 wyniki bo samiec ma 2 rodziców i samica 2 rodziców.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.