Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

select abfrage Kategoriebaum

6 views
Skip to first unread message

templa...@gmail.com

unread,
Feb 22, 2013, 4:17:16 AM2/22/13
to
Hallo Community,
ich habe folgendes Problem:
Ich benötige einen kategoriebaum aus einer DB Abfrage, meine Tabellen sehen folgendermassen aus:


categories
----------------------
| cat_id | parent_id |
----------------------
| 1 | 0 |
| 2 | 0 |
| 3 | 1 |
| 4 | 1 |
| 5 | 2 |
| 6 | 5 |
----------------------

categories_description
-------------------------------
| cat_id | cat_name |
-------------------------------
| 1 | Kat 1 |
| 2 | Kat 2 |
| 3 | Unter_Kat 1a |
| 4 | Unter_Kat 1b |
| 5 | Unter_Kat 2a |
| 6 | Unter_unter_Kat 2a |
-------------------------------



Wenn ich nun folgende abfrage sende

SELECT c.cat_id,
cd.cat_name,
c.parent_id
FROM " . TABLE_CATEGORIES . " AS c,
" . TABLE_CATEGORIES_DESCRIPTION . " AS cd
WHERE c.categories_id = cd.categories_id
ORDER BY " . $catsort
erhalte ich folgende ausgabe der Kategorien



Kat 1
Kat 2
Unter_Kat 1a
Unter_Kat 1b
Unter_Kat 2a
Unter_unter_Kat 2a

die ausgabe soll aber folgendermassen aussehen:



Kat 1
--Unter_Kat 1a
--Unter_Kat 1b
Kat 2
--Unter_Kat 2a
----Unter_unter_Kat 2a



Ist es möglich die Kategorienamen in der Reihenfolge ihrer hierarischen Struktur auszugeben, wenn ja wie ??

Würde mich über jeden Tipp oder Hilfestellung freuen !

Gruß eleven

Sergej Knjazkow

unread,
Feb 24, 2013, 9:13:20 AM2/24/13
to
Am 22.02.2013 10:17, schrieb templa...@gmail.com:
> Hallo Community,
> ich habe folgendes Problem:
> Ich benᅵtige einen kategoriebaum aus einer DB Abfrage, meine Tabellen sehen folgendermassen aus:
> Ist es mᅵglich die Kategorienamen in der Reihenfolge ihrer hierarischen Struktur auszugeben, wenn ja wie ??
>
> Wᅵrde mich ᅵber jeden Tipp oder Hilfestellung freuen !
>
> Gruᅵ eleven
>

Hallo Eleven,

ich glaube so eine Lᅵsung soll Dir weiter helfen:

SELECT t1.cat_name AS category,
t3.cat_name AS subcategory
FROM categories_description AS t1
LEFT JOIN categories AS t2
ON t2.parent_id = t1.cat_id
LEFT JOIN categories_description AS t3
ON t3.cat_id = t2.cat_id
WHERE t3.cat_id IS NOT NULL
ORDER BY t1.cat_id, t3.cat_id
;

MFG

Sergej

0 new messages