dachu
30.08.2005, 21:51:53
cześć zrobiłem dynamiczne menu na bazie mysql, dwie tabelki, w pierwszej mam przechowywane nazwe poszczeólnych wykazów menu: id_kat, nazwa_kat, a w drugim podkategorie: id_kat, nazwa_podkat, tresc_str.
id_kat - to klucz wiąże obie tabelki.
druga tabela ma pole o nazwie: tresc_str , pole to przechowuje treść danej podstrony.
Moje pytanie: jak wygenerować to menu z bazy żeby wyświetliło mi Kategorie główne menu: czyli np: Artykuły a pod spodem podkategorie z nazwa_podkat, itd Poniżej tak obrazmowo, np:
Strona główna
----------------
Artykuły
- Jakiś art1
- Jaiś art2
- id
----------------
FAQ
----------------
Kontakt
itd
Mam coś takiego:
$query="select * from kategorie left join podkategorie on kategorie.id_kat=podkategorie.id_kat group by kategorie.id_kat";
no i jest prawie dobrze tylko kiedy ma wyświetlić kategorie z podkategoriami to wyświetla kategorie - NAZWE (nazwa_kat) tyle razy ile jest jej podkategorii. a powinno wyświetlić się: raz kategoria i potem pod nią podkategorie.
prosze o pomoc.
A może ma ktoś inny pomysł na rozwiązanie ?
TomASS
30.08.2005, 21:55:01
Ktoś już kiedyś miał podobne pytanie:
ZapraszamA tak swoją drogą, to coraz częściej pada na tym forum zdanie, że coś już było, czyżby w końcu wyczerpał się limit pytań?
dachu
30.08.2005, 22:08:12
to mi nic nie mówi he ... jestem zielony jak liść ... ale nie sądziłem że z takim drzewkiem będzie taki problem, ... ale ja mam troche łatwiejsze od tamtego, bo mam tylko kategorie menu i jedną podkategorie,

ale sam tego nie rusze, dziś spadło mi na klawiature od główkowania w chu... sierści... mam dość ...
TomASS
30.08.2005, 22:21:24
To co na szybko przychodzi mi do głowy to zrobić to w dwóch podzapytaniach:
1.
SELECT ID, Nazwa
FROM kategorie;
2.
<?php
$query = "SELECT Nazwa FORM podkategorie WHERE Kategoria=$row['ID']";
?>
Ale wtedy musisz wykonać kilka zapytań.
Możesz spróbować także grupowania = GROUP BY....
batman
30.08.2005, 22:33:33
A próbowałeś już zapytań zagnieżdżonych? Oraz zgadzam się z przedmówcą: ORDER BY, ewentualnie DISTINCT
TomASS
30.08.2005, 23:39:26
Thx za poparcie

Tylko trza pamiętać, że zagnieżdzone zapytania dopiero od MySQL 5

Gdyby to było takie proste w MySQL 4....
mike
31.08.2005, 06:56:59
Cytat(TomASS @ 2005-08-30 23:39:26)
Tylko trza pamiętać, że zagnieżdzone zapytania dopiero od MySQL 5

Gdyby to było takie proste w MySQL 4....

Podzapytania są w MySQL w wersji
4.1, która ma w tej chwili status
recommended.
TomASS
31.08.2005, 08:35:24
O to przepraszam, za wprowadzenie w błąd.