Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Wyświetlanie Site Map, Problem z pętlami
wibe
post
Post #1





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 26.11.2005

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


Mam następujący problem:
Struktura mojej strony ma charakter drzewiasty o dowolnym zagnieźdzeniu (każdy element czymkolwiek by nie był posiada zapisaną wartość rodzica). Wszystkie elementy znajdują się w bazie danych (MySQL).

Najprostrzym sposobem (co nie znaczy że dobrym) jest zrobienie pęteli w pętli ... w pętli gdzie każda pętla dostaje Id rodzica i szuka potomstwa a następnie każde potomstwo szuka swego potomstwa.

Ma to sporo wad: baza danych jest 'atakowana' ogromną ilością SELECTów, po drugie takie zapętlenie jest skończone a jak pisałem, chciałbym uzyskać site map dla dowolnego zagnieżdzenia.

Nie oczekuje że ktoś napisze mi cały skrypt ale może ktoś chętnie podzieli się jakaś koncepcją, z góry dziękuję.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
ghostrider
post
Post #2





Grupa: Zarejestrowani
Postów: 135
Pomógł: 0
Dołączył: 30.09.2005
Skąd: k-rk

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


takie zapetlanie nie musibyc skończone, zwia to rekurencją, ale rzeczywiscie ilośc SELECT(ów) bedzie duza, rozwiazaniem moze być zapisanie struktury do pliku (cache-owanie) i zmienieanie tego pliku tylko w przypadku zmainy zawartości, tj dodanieu bądz usunieciu czegoś ze struktur. Przydatne moze być "SELECT COUNT(*) FROM struktura"
Go to the top of the page
+Quote Post
chmolu
post
Post #3





Grupa: Zarejestrowani
Postów: 179
Pomógł: 0
Dołączył: 8.10.2004

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


następnym razem użyję wyszukiwarki
Go to the top of the page
+Quote Post
Vengeance
post
Post #4





Grupa: Zarejestrowani
Postów: 657
Pomógł: 2
Dołączył: 15.08.2003
Skąd: Łódź

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


Zrób raz taką masakrę z SELECTami jak napisałeś powyżej (wyjdzie ci kilka tysięcy zapytań nawet ;p) potem wygeneruj z tego statyczny HTML i wrzuć na www. A uaktualniać możesz raz na tydzień/miesiąc.

Po co ci dynamiczna mapa
Go to the top of the page
+Quote Post
wibe
post
Post #5





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 26.11.2005

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


ghostrider: Rekurencje znam, ale powalił mnie własnie problem selectów.

chmolu: czytałem ten topic ale musiałem przeoczyć, sory

Vengeance: własnie o taką koncepcję mi chodziło, działa dobrze, serwera ani bazy danych nie obciąża, co do cachowania pomysł ghostridera z liczeniem wierszy wydaje mi się najlepszy

dzięki wszystkim za pomoc (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post

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: 23.08.2025 - 08:44