![]() |
![]() |
![]()
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 ... |
|
|
![]() ![]() |
![]() |
Aktualny czas: 25.08.2025 - 12:19 |