Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][MYSQL]kategorie i podkategorie, wyświetlanie...
hejkumkejkum
post
Post #1





Grupa: Zarejestrowani
Postów: 49
Pomógł: 0
Dołączył: 11.11.2007

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


Mam pewną zagwozdkę, chcę zrobić coś takiego

Kategoria gł1
podkategoriaA
1.publikacja (link Word lub pdf) wielkość pliku, data
2 publikacja (link Word lub pdf) wielkość pliku, data
| LINK wyświetl całą zawartość podkategoriiA. |
podkategoriaB
1.publikacja (link Word lub pdf) wielkość pliku, data
2 publikacja (link Word lub pdf) wielkość pliku, data
3 publikacja (link Word lub pdf) wielkość pliku, data
4 publikacja (link Word lub pdf) wielkość pliku, data
5 publikacja (link Word lub pdf) wielkość pliku, data
| LINK wyświetl całą zawartość podkategoriiB. |
Kategoria gł2
1.publikacja (link Word lub pdf) wielkość pliku, data
2 publikacja (link Word lub pdf) wielkość pliku, data
| LINK wyświetl całą zawartość kategorii gł2. |

A więc chodzi o to, że chcę na stronie umieścić pliki do pobrania, przy czym chcę aby od razu były widoczne i kategorie główne, które mogą zawierać odnośniki do plików(publikacji) jak i podkategorie, oraz powiedzmy widocznych 5 najnowszych publikacji, a pod spodem link do reszty publikacji z danej kategorii/podkategorii po kliknięciu którego przechodzi się do całego spisu publikacji z danej kategorii.

Czyli zdaje się dwie tabele (lub trzy), jedna tabela przechowuje dane dotyczące plików, druga tabela przetrzymuje kategorie i podkategorie, ewentualnie osobno tabela z kategoriami i podkategoriami(?).

Czy dobrze kombinuję?

W PHP jestem laikiem staram się coś nauczyć lecz ja muszę stopniowo rozgryzać koncepcję, a wiele przykładów jest od razu z grubej rury, które są na tyle skomplikowane, że logicznie nie potrafię ich rozpracować i jednocześnie poznać zasad działania.

Głownie mam niejasność co do tabeli kategorii i podkategorii, czy to ma być w jednej tabeli czy ma to być jednak rozbite na dwie tabele? Bo za chiny ludowe nie wiem jak to można wyświetlic mając

mysql> select * from category;
+----+----------+-------------+
| id | deep | name |
+----+------+-----------------+
| 1 | 0 | kategoria gł1 |
| 2 | 0 | kategoria gł2 |
| 3 | 0 | kategoria gł3 |
| 4 | 1 | podkategoriaA |
| 5 | 1 | podkategoriaB |
+----+------+-----------------+

W takiej sytuacji nie wiem jak podpiąć podkategorie do kategorii głównych, to chyba bardziej się nadaje do metody wyświetlania która w danym momencie wyświetla tylko kategorie lub podkategorie w zależnosci od deep.

Czy dobrze to rozumiem czy całkowicie poplątałem?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
hejkumkejkum
post
Post #2





Grupa: Zarejestrowani
Postów: 49
Pomógł: 0
Dołączył: 11.11.2007

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


Cysiaczek wiesz najpierw chciałem się nauczyć podstawowego myślenia w związku z budowaniem takich tabel, pól, zanim przejdę do dalszej analizy i ewentualnej optymalizacji muszę poznać zasady.

Mam jeszcze prośbę o pomoc z zapytaniem.

Męczę się na różne sposoby i JOIN i bez JOIN ale nijak mi tonie wychodzi.

Czyli mam kod który wyświetla kategorie główne i podkategorie w postaci

Kategoria gł1
podkategoriaA
podkategoriaB
Kategoriagł2
podkategoriaA
kategoria gł3


Struktura bazy to:

"category":
id, Subcat, name
--------------------
id to wiadomo,
Subcat to wartość kategorii podkategorii (0 to kategoria główna),
name to nazwa kategori lub subkategorii.

oraz

"file":
id, category, name, url, addition
--------------------
id wiadomo
category to przyporządkowanie do id w tabeli (problem z zapytaniem)
name to nazwa pliku/odnośnika
url to ścieżka do ktorej został załadowany plik,
addition (timestamp) to data dodania wpisu do bazy


Samą strukturę kategorii i podkategorii wyświetlam na raize tak:

  1. <?php
  2. $query = mysql_query("SELECT * FROM category WHERE Subcat = '0'");
  3. while ($result = mysql_fetch_row($query)) {
  4. echo $category = "<br/><li><a href='$result[0]'>$result[2]</a></li><br/>";
  5.  
  6. $subQuery = mysql_query("SELECT * FROM category WHERE Subcat='".$result['0']."' ");
  7. while ($subResult = mysql_fetch_array($subQuery)) 
  8. {
  9. echo $category = '<li>--'.$subResult[2] . '</li> ' ;
  10. }
  11. }
  12. ?>


Proszę o pomoc z zapytaniem chodzi o to, że chcę wyświetlić to tak:


Kategoria gł1
podkategoriaA
podkategoriaB
Wrzucony plik jeden, nazwa odnosnika blabla (data)
Wrzucony plik dwa, nazwa odnosnika blabla (data)
Kategoriagł2
podkategoriaA
kategoria gł3

W zależności od tego do której kategorii, podkategorii przyporządkowany będzie plik z danymi.

CODE
SELECT * FROM category WHERE Subcat = '0'

Wyświetla na razie tylko kategorie główne, jak zmodyfikować to zapytanie by do kategorii głównych (również do podkategorii w drugim zapytaniu) przyporządkowało dane z tabeli "file" ?



PS. Czy jest jakiś darmowy generator zapytań, którym się można posiłkować?


Pozdr.
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: 6.10.2025 - 14:51