![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 115 Pomógł: 2 Dołączył: 23.07.2009 Ostrzeżenie: (0%) ![]() ![]() |
Witam
Dosyć prosty problem. MySQL - dwa istotne pola: id, podkategoria. PHP - optymalne operowanie Mój wcześniejszy kod był w ogóle niezoptymalizowany, pętla w pętli poganiała pętle przez pętle ![]() Czy istnieje jakaś lepsza metoda utworzenia takiej listy podkategorii podając kategorię startową? To tak jak by tworzenie drzewa genealogicznego zaczynając od korzeni ![]() Z góry dzięki za pomoc |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Może byś chociaż udawał, że próbowałeś szukać...
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 115 Pomógł: 2 Dołączył: 23.07.2009 Ostrzeżenie: (0%) ![]() ![]() |
heh, w google szukałem...
sorry własnie znalazłem na forum ![]() odsyłam następnych gapowiczów pod link: Temat: Tree drzewko Hmm, ten kod jest dosyć rozbudowany, a mi taki nie jest potrzebny. Kiedyś 'utłukłem' dosyć prosty kod, ale miał soją wadę, ale na swój sposób jest przydatny.
Kod ma przedstawiać subkategorie kategorii w forum. Nie zadawajcie pytań po co mi takie coś ![]() Po prostu kod najlepiej utworzyć jedną petlę by się zapętlała przez metodę w klasie, gdy parametr w tablicy będzie pusty to zapętlanie się skończy. Taką prostą metodą można o wiele więcej zrobić niż tą klasą, którą przedstawił nospor, przynajmniej ja mam takie zdanie. W metodzie też powinien być kodzik zapisujący cała tablicę, dla cache. Bo nikt nie chce, żeby serwer się zawiesił ![]() Ten post edytował matrik 27.01.2011, 22:04:45 |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 33 Pomógł: 1 Dołączył: 9.05.2010 Ostrzeżenie: (0%) ![]() ![]() |
Ale po co tak, za każdym razem w kolejnej pętli to samo zapytanie... Weź raz wykonaj zapytanie, przepisz do tablicy, operuj na tablicy. Co do generowania drzewek to masz masę materiałów w google.
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 76 Pomógł: 8 Dołączył: 10.11.2010 Skąd: Polska,Katowice Ostrzeżenie: (0%) ![]() ![]() |
Matrik wybacz ale jak mogę zrozumieć funkcję rekurencyjną w kategoriach tak Twojego kodu nie mogę przetrawić.
Cytat $is = $this->database->num_rows("SELECT * FROM kategorie WHERE podkategoria='".$rowq_->id."'"); if($is){ echo "<tr><td> ".$rowq_->nazwa."</td></tr>"; $pod_ = $this->database->pobRows("SELECT * FROM kategorie WHERE podkategoria='".$rowq_->id."' ORDER BY Listing ASC"); po co dwa razy te same query ?. Przerób swoją klasę do mysql-a bo to naprawdę jest "niesmaczne" (przepraszam że tak pisze, nie mam na celu atakowanie Ciebie. Ale naprawdę do pewnych rzeczy trzeba podejść poważnie i przemyśleć 1000 razy). Do tego hm - co zrobisz jeśli będziesz miał np kategoria -- sub ----sub sub ------sub sub sub i dla kategorii chcesz wyliczyć wszystkie wątki/posty z wszystkich subkategorii a nie tylko sub (aktualnie Twój kod tak robi). ? Temat: phpmysqlsmarty Tworzenie kategorii i podkategorii na jednej tabeli a jeszcze bardziej wlaśnie klasa nospor-a |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 46 Pomógł: 2 Dołączył: 2.04.2009 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
wg mnie spokojnie można obciążyć modyfikację drzewka na rzecz przyspieszenia odczytu. Odpowiedziałem na identyczny temat parę dni temu, link poniżej: http://forum.php.pl/index.php?s=&showt...st&p=830877 |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 1 374 Pomógł: 149 Dołączył: 1.03.2006 Ostrzeżenie: (0%) ![]() ![]() |
A morze zainteresują Cię drzewa nested set?
-------------------- |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 12.07.2025 - 06:08 |