Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 215 Pomógł: 0 Dołączył: 18.01.2003 Ostrzeżenie: (0%)
|
Jestem w trakcie robienia skryptu i zagięło mnie w pewnym momencie ... albo zaćmiło [;
Wiecie może jak rozplanować bazę danych z minimalną liczbą pól by móc zrobić potem do tego skrypt który wyświetlał by dane? wg mnie baza wyglądać powinna tak: id, nazwa czegoś, opis czegoś, przynależność do grupy ID (jeśli jest grupą to wartość 0), nr zagłębienia czyli np. dla podkategorii 2 zagłębienie równe 2 obrazowo: 1,warzywa,spis warzyw,0 (bo jest grupą),1 2,ogórki,tu znajdziesz nasze ogórki,1 (pod grupa grupy warzywa o id 1),2 (zagłębienie 2) 3,kiszone,ogórki kiszone,2 (po przynależy do podgrupy o id 2),3 4,owoce,spis owoców,0 (bo jest grupą),1 5,kiszone z polski,ogórki kiszone z polski,3 (po przynależy do podpodgrupy 3),4 i w sumie dane powinny wyglądać tak warzywa -ogórki --kiszone ---kiszone z polski owoce tyle, że problemem jest tutaj dla mnie brak limitu podgrup. oczywiście mógłbym zrobić coś z limitem podgrup ale pomyślałem by zrobić bardziej giętki skrypt w końcu skrypt u mnie wygląda tak: [php:1:b8a8a88b13]<?php $zaglebienia = mysql_query("select zaglebienie from _grupy order by zaglebienie desc limit 1"); while ($row=mysql_fetch_array($zaglebienia)) { $zaglebienie = $row[zaglebienie]; } $grupy = mysql_query("select * from _grupy where nalezy='0' order by nazwa"); while ($row=mysql_fetch_array($grupy)) { $id_gr = $row[id]; echo "&<a href='' title='".$row[opis]."' class=grupa>".$row[nazwa]."</a><br>"; for ($lp=1;$lp<=$zaglebienie;$lp++) { $podgrupy = mysql_query("select * from _grupy where nalezy='$lp' and nalezy='$id_gr' order by nazwa"); while ($row=mysql_fetch_array($podgrupy)) { echo "&- <a href='' title='".$row[opis]."'>".$row[nazwa]."</a><br>"; for ($lp=1;$lp<=$row[zaglebienie];$lp++) { $podgrupy_2 = mysql_query("select * from _grupy where nalezy='$lp' and nalezy='$id_gr' order by zaglebienie, nazwa"); while ($row=mysql_fetch_array($podgrupy_2)) { } } } } } ?>[/php:1:b8a8a88b13] wychodzi na to, że musiałbym robić ciągle pętle for ... macie jakieś inne pomysły? może zamiast przynależności zapisanej w formie np. 1 to zapisywać np. 1.2.4.5 z tych 4 liczb wtedy wynikałoby, że jest to 4 zagłębienie (zliczanie ilości kropek) a zarazem sprawdzanie kolejki spisu grup i podgrup. np. że ogórek poslki kiszony należy wpierw do grupy warzywa potem podgrupy ogórki, potem ogórki kiszone a w końcu do ogórków polskich kiszonych... proszę o pomoc ... wiem, że z tym zagmatwałem. widziałem takie bajery na phpbb czy openbb ale kod jest tam tak napisany, że ciężko się rozeznać i wziąć wzór od nich ... |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zarząd Postów: 2 277 Pomógł: 6 Dołączył: 27.12.2002 Skąd: Wołów/Wrocław |
nie bardzo cie pokrzepię, ale zmontownie w pełni funkcjonalnej (a i to nie do końca) klasy do obsługi drzewka poświeciłem z 5 dni, jeśli nie więcej (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) Choć nie uważam tego za czas zmarnowany.
Z drugiej strony - jeżeli problemem jest dla ciebi proste zapytanie oparte na np. join no to obawiam sie, że zadane może cie przerosnąć... Jeśli jednak postanowisz to zorbić, zastanów się, dokladnie jakie dane bedą ci potrzebne. Bo przecież oczywiste jest, ze raczej żadko potrzebne są wszystkie podkategorie, czyli całe drzewo. A wyciagnięcie tylko jednej gałęzi, lub kategorii z jednego poziomu zagłębienia w bazie konstrukcji dragossaniego jest naprawdę łatwe. |
|
|
|
treewood Nieskończona liczba podgrup w grupach 26.05.2003, 15:48:27
Cudi rekurencja -> wywołanie funkcji wewnątrz samej ... 26.05.2003, 16:39:51
treewood tzn ze mam to wywolac jakos tak:
<?php
functio... 26.05.2003, 21:37:42
scanner Tylko pamiętaj, zeby się nie zapętlić. 26.05.2003, 21:43:40
spenalzo :arrow: http://webcity.pl/porady.php/t/69 26.05.2003, 22:43:07
treewood w sumie myslalem by uzyc funkcji ... ale dzieki ba... 26.05.2003, 23:43:09
DeyV trafiłeś na problem, na który w pewnym momęcie tra... 27.05.2003, 09:15:19
treewood deyv ... super pomysl ja zrobilem to inaczej
ze ni... 27.05.2003, 10:41:48
DeyV twoje rozwiazanie - choć wydawałoby się bardzo pro... 27.05.2003, 10:53:53
treewood no w sumie tak .. tyle, ze nie mam wiekszego pojec... 27.05.2003, 11:13:04
treewood nie no raczej problemu z joinem nie mam ... tylko ... 27.05.2003, 11:38:24
treewood No niby zrobiłem i wyświetla ale nie do końca dobr... 27.05.2003, 13:54:28
kurtz CytatNo niby zrobiłem i wyświetla ale nie do końca... 27.05.2003, 15:20:25
treewood kurtz << jak mam rozumieć to wskazanie refer... 27.05.2003, 15:28:31 ![]() ![]() |
|
Aktualny czas: 26.12.2025 - 21:41 |