Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] [mysql]
Forum PHP.pl > Forum > PHP
hiszpaniec
Witam, przeszukałem dużo tematów na forum, po części pokrywały się z moim pytaniem, ale niestety stanąłem na takim etapie że w ogóle nie wiem jak się za to zabrać.
Zostałem poproszony o napisanie galerii zdjęć w której:
-będą linki bezpośrednio kierujące do albumów
-linki będą kierowały do podkategorii w których dopiero będą umieszczane linki do albumów.

Gdyby to było wszystko to metodą prób i błędów bym się z tym uporał, ale dodatkowo muszę stworzyć panel administracyjny na którym będzie dodawanie i usuwanie kategorii/podkategorii/albumów.
Nie wiem jakim sposobem osiągnąć dodawanie kategorii, nie wiem jak je rozróżnić z podkategoriami.
Następna z funkcjonalności, może być ustalana jedynie podczas tworzenia kategorii to zasięg (czy ma być wyświetlana we wszystkich galeriach, czy jedynie w jednej, chodzi tu o klub który ma kilka filii i niektóre kategorie powinny być wyświetlane we wszystkich filiach, a inne jedynie w wybranej jednej).

Miałem taką koncepcję aby podczas dodawania kategorii z listy rozwijanej szło wybrać kategorie do której przypisać inną kategorię, ale nie wiem jak to rozgraniczyć.
Wstępnie myślę że pola w bazie danych do kategorii to:
id, nazwa_kategorii, gdzie_ma_byc_wyświetlana, podkategoria

Mogę prosić o porady jak mam się za to zabrać?
Daimos
zakręciłeś trochę smile.gif tzn że kategoria może mieć kilku rodziców tak?
Jeśli chodzi o takie relacje wiele do wielu czy wiele do jednego, zrób tabelę specjalnie do tego
tzn masz tabelę
category
to tworzysz
category_to_category
a w niej pola
category_child_id | category_parent_id

a tak na marginesie
Nie znam się na architekturze, więc nikt mnie nie prosi o zaprojektowanie domu winksmiley.jpg
celbarowicz
  1.  
  2. zrób trzy zależne selekty i proponuję taki układ tabel, fotki dotyczące jednego tematu umieszczaj w odpowiednim katalogu
  3.  
  4. np
  5. $sql="CREATE TABLE IF NOT EXISTS tabela_1(
  6. id_t1 int(9) NOT NULL auto_increment,
  7. nazwa_t1 varchar(30) NOT NULL ,
  8.  
  9. PRIMARY KEY klucz1 (id_t1)) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_polish_ci; ";
  10.  
  11. mysql_query($sql) or die(mysql_error());
  12. //-----------------------------------------------------------
  13. $sql="CREATE TABLE IF NOT EXISTS tabela_2(
  14. id_t2 int(9) NOT NULL auto_increment,
  15. id_t1_w_t2 int(9) NOT NULL,
  16. nazwa_t2 varchar(30) NOT NULL,
  17. PRIMARY KEY klucz2 (id_t2 ) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_polish_ci; ";
  18.  
  19. //-----------------------------------------------------------
  20. $sql="CREATE TABLE IF NOT EXISTS tabela_3(
  21. id_t3 int(9) NOT NULL auto_increment,
  22. id_t2_w_t3 int(9) NOT NULL,
  23. nazwa_t3 varchar(30) NOT NULL,
  24. PRIMARY KEY klucz3 (id_t3 ) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_polish_ci; ";
  25.  
  26. //-----------------------------------------------------------
  27. $sql="CREATE TABLE IF NOT EXISTS tabela_4(
  28. id_t4 int(9) NOT NULL auto_increment,
  29. id_t3_w_t4 int(9) NOT NULL,
  30. opis_fotki varchar(255) NOT NULL,
  31. nazwa_fotki varchar(255) NOT NULL, //ścieżka do fotki
  32. wyswietlanie varchar(1) NOT NULL,
  33.  
  34.  
  35. PRIMARY KEY klucz3 (id_t4 ) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_polish_ci; ";
  36.  
  37.  
  38.  
  39.  
  40.  
  41.  
  42.  
  43.  
  44.  


To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.