Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php]/[mysql]/[js] jak zrobić wielopoziomowe kategorie produktow i menu do ich obsługi
noels
post
Post #1





Grupa: Zarejestrowani
Postów: 17
Pomógł: 0
Dołączył: 16.01.2007
Skąd: Dąbrowa Górnicza

Ostrzeżenie: (0%)
-----


Witam (IMG:http://forum.php.pl/style_emoticons/default/exclamation.gif)


Pisze skrypt sklepu internetowego, zależy mi na tym aby sklep obsługiwał wielopoziomowe kategorie tzn np:

SPRZĘT AGD ---|
.......................|-miksery
.......................|-pralki---|
.....................................|-ładowane od góry
.....................................|-ładowane od przodu


mój pomysł na tabele w bazie odpowiedzialna za przechowywanie informacji o kategoriach jest następujący:

  1. CREATE TABLE kategorie
  2. (id_kategorii int UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
  3. id_kategorii_nadrzednej int UNSIGNED NOT NULL,
  4. nazwa char(100) NOT NULL,
  5. opis text NOT NULL);


tabela przechowujaca informacje o produktach:

  1. CREATE TABLE produkty
  2. (id_produktu int UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
  3. id_producenta int UNSIGNED NOT NULL,
  4. id_kategorii int UNSIGNED NOT NULL,
  5. id_stawki_vat int UNSIGNED NOT NULL,
  6. nazwa char(100) NOT NULL,
  7. numer_katalogowy char(15) NOT NULL,
  8. opis text NOT NULL,
  9. widoczny tinyint(1) UNSIGNED NOT NULL,
  10. nowosc tinyint(1) UNSIGNED NOT NULL,
  11. cena double(7,2) UNSIGNED NOT NULL,
  12. waga int(2) UNSIGNED NOT NULL,
  13. zdjecie char(50));


problem pojawia sie przy próbie stworzenia menu ktore takze musi byc wielopoziomowe, a przedewszystkim dynamiczne
tzn. musi tworzyc sie automatycznie na podstawie informacji pobranych z bazy danych.
Udało mi się znaleźć pewne gotowe menu lecz nie potrafie poradzić sobie z jego
tworzeniem na podstawie automatycznie pobranych informacji z bazy.

kod menu i jego dokładny opis znajduje się pod adresem MENU

nie będę go tu wklejał bo jest dosyć obszerny.

Problem tkwi w napisaniu skryptu który wygeneruje kod korzystając z informacji zapisanych w bazie wg wzoru:

  1. <dl id="menu0">
  2. <dt>Sprzęt AGD</dt>
  3. <dd>
  4. <dl>
  5. <dt>Miksery</dt>
  6. <dt>Pralki</dt>
  7. <dd>Ładowane od góry</dd>
  8. <dd>Ładowane od przodu</dd>
  9. </dl>
  10. </dd>
  11. </dl>


Domyślam się że trzeba skorzystać z jakiś pętelek lecz nie mam pojęcia jak to zrobić.

Może macie jakieś inne pomysły na strukture bazy bądź też samego menu chodzi mi poprostu aby
udało mi się napisać skrypt sklepu z wielopoziomowymi kategoriami i menu do ich przeglądania.

Z góry dziękuję za wszelkie porady.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
yaotzin
post
Post #2





Grupa: Zarejestrowani
Postów: 157
Pomógł: 0
Dołączył: 12.02.2007
Skąd: Zielona Góra

Ostrzeżenie: (0%)
-----


A tak zastanawiam się czy nie można by robić tak aby w bazie określać głębokość menu. Np. 0 1 2 itp. wówczas będziesz wiedział że 0 jest na samej górze a 1 jest dzieckiemm rodzica o wartości 0 natomiast 2 dzieckiem rodzica o wartosci 1. Pozwoli ci to później nawet na zamienianie pozycji dynamicznie przenoszenie z jednego do drugiego itp. a jeśli chcesz aby to było dodatkowo menu rozwijane to sądzę że nie jest to trudne już po tym jak je wygenerujesz korzystając z PHP. Użyj JS i może CSS visibility: none; itp. (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Więcej niż powyższe nie mogę ci pomóc, ale też za jakiś czas będę musiał napisać taki skrypt i powyższe mi wg projektu działa. ale... :/ zawsze może być lub jest jakieś ale...
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 14.10.2025 - 03:53