Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Wyświetlanie Site Map
Forum PHP.pl > Forum > PHP
wibe
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ę.
ghostrider
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"
chmolu
następnym razem użyję wyszukiwarki
Vengeance
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
wibe
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 smile.gif
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.