![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 215 Pomógł: 1 Dołączył: 13.04.2003 Skąd: z ławki przed blokiem Ostrzeżenie: (0%) ![]() ![]() |
witam,
mam Sobie baze danych użytkowników, kazdy uzytkownik ma swojego rodzica, nie ma ograniczenia glebokosci drzewa. w bazie user_id | user_parent, gdzie user_paretnt to user_id rodzica. no i zaszła potrzeba wyswietlenia tego drzewka, i dziala to w tej chwili tak:
tzn konkretnie sa to funkcje pobierania drzewa, w tej chwili gdy w bazie jest okolo 300 userow nie ma problemu z pobraniem tego, no ale juz przy 10000 pojawia sie problem ;/ ma ktoś jakiś pomysł jak zmyslnie wyświetlać takie drzewko? moze jakos inaczej zapisywac dane albo cos.... |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 2 262 Pomógł: 21 Dołączył: 3.05.2004 Skąd: Sopot, Krakow, W-wa Ostrzeżenie: (0%) ![]() ![]() |
Na wortalu jest artykul o drzewkach. Rowniez www.depesz.com
-------------------- Javascript, Coffeescript, Node.js, Mongo, CouchDb, chmury, workery & inne bajery - zycie jest zbyt krotkie aby miec nudna prace :)
|
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 740 Pomógł: 15 Dołączył: 23.08.2004 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Na tym forum problem drzew pojawial sie juz wiele razy. Jest kilka koncepcji drzew sqlowych np. - wspomniane już - drzewo depesza, nested sets(zbiory zagniezdzone), drzewa IP.
-------------------- bigZbig (Zbigniew Heintze) | blog.heintze.pl
|
|
|
![]()
Post
#4
|
|
![]() Grupa: Przyjaciele php.pl Postów: 1 224 Pomógł: 40 Dołączył: 6.07.2004 Skąd: Wuppertal Ostrzeżenie: (0%) ![]() ![]() |
tak na szybko, bo zapewne nie bedzie Ci sie chcialo calosci przerabiac. albo cachuj wyniki tego co zwracaja te funckje, albo pobierz jednorazowo calosc, i potem tylko obrabiaj phpem
|
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 215 Pomógł: 1 Dołączył: 13.04.2003 Skąd: z ławki przed blokiem Ostrzeżenie: (0%) ![]() ![]() |
więc tak zaimplementowałem tą metode:
http://www.depesz.com/various-sqltrees-implementation.php no i teraz pojawił sie problem, wszystkie triggerki napisane są dla pobierania całego drzewka od razu (co przy 10k userów i tak sie wywala i tak), no ale teraz jak ograniczyć to pobieranie do 5 poziomów w głąb, i pobierac dane dla konkretnego usera? probowałem cos podziałac na zapytaniu:
zwraca mi wszystkie mozliwe powiazania, a teraz nie wiem co do niego dolozyc aby zwracalo mi tylko powiazania pod konkretnym użytkownikiem i tylko dla 5 poziomów w głąb ;/ ma ktoś jakiś pomysł? EDITED: poszperałem po grupach i skleciłem coś takiego:
wygląda na to że działa, wybiera ładnie strukturke, zobaczymy jak teraz pujdzie mi z obrobieniem tego w php ![]() Ten post edytował AcidBurnt 17.01.2006, 01:41:08 |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 27.06.2025 - 06:25 |