![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 84 Pomógł: 0 Dołączył: 12.10.2004 Ostrzeżenie: (0%) ![]() ![]() |
Witam.
Mam różne produkty z różną ilością cech char. Chce to jakoś sensownie umieścić w bazie. Mam taki pomysł, żeby np przy umieszczeniu nowego opisu w bazie używać takiego znaku :: to oznaczałoby przejscie do nastepnej cechy. czyli np przekątna - 17'' :: czas reakcji - 16ms :: itd. Teraz explodem to wszystko do tablicy, i na ekran kazda cecha. Jak Wy sobie poradziliście z opisem produktów? czy uwazacie, ze wpisywanie danych w takim formacie jest sensownym rozwiazaniem? jesli tak, to co powiecie na <b>przekatna</b> - 17'' :: itd... zeby nazwa cechy byla wytluszczona. jesli to tez ma sens, to jakiej funkcji uzyc, zeby <b> zadzialalo jak znacznik a nie tekst, przy wypisywaniu na ekranie? THX |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 116 Pomógł: 0 Dołączył: 22.07.2004 Ostrzeżenie: (0%) ![]() ![]() |
Cytat(herbatniczek @ 2004-11-05 21:16:55) czy uwazacie, ze wpisywanie danych w takim formacie jest sensownym rozwiazaniem? Nie. Najlepiej zrobić tabele z kolumnami dla każdej możliwej cechy produktu. Raz będziesz chciał wyświetlić przekątną w bold, a raz italik. Innym razem możesz chcieć posortować wg. przekątnej albo wyświetlić tylko te produkty, które mają czas reakcji większy od 17ms. |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 84 Pomógł: 0 Dołączył: 12.10.2004 Ostrzeżenie: (0%) ![]() ![]() |
dobrze, więc powiem może dokładniej co już mam:
jest drzewo kategorii i podkategorii. i podkategoriami - dlatego drzewo, żebym mógł mieć nieskończoną ilość tych kat i podkategorii. moje drzewo nadaje czy to kategorii, czy podkategorii unikalne ID. czyli .................1 ............2........3 ..........4..5 i teraz obok id produktu w bazie (jak rozumiem sugerujesz, żeby każdy produkt miał oddzielną tabelę), mialbym id tej podkategorii, czy tez kategorii. Teraz moje kategorie wyglądają tak, ze mam przodek - id przodka nazwa potomek - true/false katID. I co dalej proponujesz? jeśli oddzielne pola - cechy to i oddzielne tabele dla monitorów, drukarek itd, więc nie mając jednej tabeli produktów chyba musze dodac nazwe tabeli produktu do tabeli kategorii? Ten post edytował herbatniczek 5.11.2004, 21:28:25 |
|
|
![]()
Post
#4
|
|
![]() Grupa: Przyjaciele php.pl Postów: 1 224 Pomógł: 40 Dołączył: 6.07.2004 Skąd: Wuppertal Ostrzeżenie: (0%) ![]() ![]() |
Partiemu chodzilo chyba bardziej o to zeby tabela z danymi o produktach zawierała tyle pól, ile maksymalnie moze posiadac produkt np.
Id nazwa .... cecha1 cecha2 itd. I potem jak masz cos wpisane w danym polu to to wyswietlasz a jak nie to pomijasz... pomaga to w tym ze mozesz potem sortowac np wg. cecha1 itp... proponuje nazewnictwo takie ze pola w nazwie są nazwą cechy a wartosc tym co ma byc w zalozeniu Twoim po myslniku... potem mozesz w kodzie php w roznych miejscach strony roznie pokazywac dane... |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 78 Pomógł: 0 Dołączył: 13.02.2004 Skąd: warszawa Ostrzeżenie: (0%) ![]() ![]() |
Hmmm...
A może tak: wpis w bazie: <i>NazwaCechy1</i>::Cecha1||<b>NazwaCechy2</b>::Cecha2||.... odczyt z bazy i explode:
W efekcie dostajemy tablicę:
i dalej już chyba wiadomo o co chodzi ![]() |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 49 Pomógł: 0 Dołączył: 29.08.2004 Skąd: POLAND Ostrzeżenie: (0%) ![]() ![]() |
w polu text bazy:
<nazwa>xx</nazwa> <wielkosc>532</wielkosc> <koszt>523</koszt> itp. idt. Podobno dla dużej ilości danych wolne, ale ja sprawdziłem to w jednym ze swoich skryptów i działa wyśmienicie :-) Gdzieś miałem kod do rozwalania ciągu na tag + zawartość, ale ni mogę szybko znaleźć :| |
|
|
![]()
Post
#7
|
|
![]() Grupa: Przyjaciele php.pl Postów: 1 224 Pomógł: 40 Dołączył: 6.07.2004 Skąd: Wuppertal Ostrzeżenie: (0%) ![]() ![]() |
gorzej jak potem sobie chcesz sobie posortowac wg jakiejs cechy
|
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 49 Pomógł: 0 Dołączył: 29.08.2004 Skąd: POLAND Ostrzeżenie: (0%) ![]() ![]() |
tak. Masz rację. jednakże myślę, że dla stron z niewielką ilościa odwiedzin dziennie wystarczy napisanie odpowiedniego interfejsu i wszystko powinno smigać sprawnie.
pzodr. |
|
|
![]()
Post
#9
|
|
![]() Grupa: Zarejestrowani Postów: 100 Pomógł: 0 Dołączył: 25.01.2003 Skąd: mazury, wawa Ostrzeżenie: (0%) ![]() ![]() |
A gdyby zrobic 3 tabele:
produkty: id_prod|nazwa_produktu|id_kategorii|cena1|cena2|ile_w_magazynie|itpitd cechy id_cechy|nazwa_cechy wlasciwosci id_wl|id_cechy|id_prod|wartosc I wtedy np masz w tabeli prodykty monitor. Dodajesz mu ceche 'przekatna', a we wlasciwosci dajesz '17ms'. Tak mozesz dodac nieskonczenie wiele (bez przesady) cech oraz zmieniac jednostki. Warto przyporzadkowac cechy odpowiedzniej grupie produktow (dyski twarde nie maja przekatnych monitora). -------------------- --
Carpe Diem |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 22 Pomógł: 0 Dołączył: 17.06.2004 Skąd: ke ? Ostrzeżenie: (0%) ![]() ![]() |
Sprawdz gotowe rozwiązania http://oscommerce.com
a jak juz tak bardzo upierasz sie przy cechach w jednym polu to poprostu stworz tablice cech jakie ma produkt zapisujac do bazy uzyj serialize() wyciagajac unserialize() i obrabiaj do woli tresc. |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 84 Pomógł: 0 Dołączył: 12.10.2004 Ostrzeżenie: (0%) ![]() ![]() |
dzięki za posty. narazie chce mieć połączenie tego wszystkiego o czym mówiliście. czyli możliwość sortowania i i nie bawienie sie w 20 tablic dla różnych produktów. czyli będzie opis, i pola, po których będzie można sortować - wspólne dla all produktów takie jak cena, nazwa producemt. przekątna, czas reakcji, - to moge zawrzeć przecież w moim drzewku kategorii. kto sortowałby po przekątnej ;-)
|
|
|
![]()
Post
#12
|
|
![]() Grupa: Zarejestrowani Postów: 602 Pomógł: 1 Dołączył: 3.04.2004 Skąd: Trójmiasto (Gdańsk) Ostrzeżenie: (0%) ![]() ![]() |
reguły normalizacji baz danych mówią o czymś takim że jedna kolumna w tabeli powinna przechowywać tylko jedną informację. Zgodnie z tymi regułami Twoja baza powinna wyglądać mniej więcej tak jak podał Lisu. To nie jest 20 tabel, tylko 3. I daje Ci to ogromne możliwości. Tak się robi.
-------------------- |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 06:30 |