Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Dwie pętle w jednej ?, Dane z MySQL
Plikownik
post
Post #1





Grupa: Zarejestrowani
Postów: 83
Pomógł: 0
Dołączył: 19.01.2006

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


Witam

Mam problem. Otóż posiadam dwie tabele

kategorie ->id, nazwa, opis, ilosc_plikow, ilosc_sub
subkategorie ->id, nazwa, opis, id_kat, ilosc_plikow

dla przykładu w tabeli "kategorie" posiadam kategorię Biurowe , a w "subkategorie" : Arkusze , Edytory tekstu i Pakiety Biurowe.

Zastanawia mnie jak zrobić, żeby wyświetlało:

Bezpieczeństwo
- Arkusze
- Edytory tekstu
- Pakiety Biurowe

Próbowałem z LEFT JOIN , ale coś nie wyszło, wydaje mi się, że potrzebna jest druga pętla, tylko jak ją skonstruować ?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
mike
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 7 494
Pomógł: 302
Dołączył: 31.03.2004

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


Masz źle skonstruowaną bazę danych.
Po co dwie tabele skoro można to zrobić w jednej:
  1. CREATE TABLE `categories` (
  2. `id` int(10) NOT NULL AUTO_INCREMENT,
  3. `parentId` int(10) NOT NULL DEFAULT '0',
  4. `name` varchar(100) NOT NULL DEFAULT '',
  5. PRIMARY KEY (`id`),
  6. UNIQUE KEY `parentId` (`parentId`,`name`)
  7. ) ENGINE=InnoDB;
(dopisz sobie swoje pola)

A potem robisz tylko dwa zapytania:
  1. SELECT *
  2. FROM categories
  3. WHERE id = 10;

  1. SELECT *
  2. FROM categories
  3. WHERE parentId = 10;


Pierwsze: masz kategorię główną;
Drugie: masz podkategorie;
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: 15.10.2025 - 11:54