[Mysql] probleempje met child / parent relatie in tabel

Pagina: 1
Acties:

  • Digihelp ®
  • Registratie: Maart 2001
  • Laatst online: 29-04 09:13
Tijdens het schrijven van deze post heb ik het probleem al opgelost, maar wil jullie dit toch niet onthouden...

Ik ben bezig met een CMS systeem en nu heb ik een tabel gemaakt waarin de pagina's worden opgeslagen:

Tabel Page
id
parent
name
title
order
templateid
visible

Ik heb ook nog een tabel voor de templates

Tabel Template
id
name
content

Nu wil ik in mijn CMS voor een bepaalde pagina de gegevens weergeven:

SELECT p.name, p.parent, p.title, p.visible, t.name FROM Page p, Template t WHERE p.templateid = t.id AND p.id = $pageid

Tot zover werkt het allemaal prima. Echter nu wil ik niet de ID van de parent weergeven (p.parent), maar de naam ervan. Nu probeer ik dat voor elkaar te krijgen in dezelfde query, maar tot nu toe wil dat niet lukken, omdat je dan twee rijen in dezelfde tabel nodig hebt met een ander ID.

Ik kwam er dus niet uit, maar tijdens het schrijven van deze post bedacht ik ineens een andere oplossing:

SELECT p.name, pp.name as parent, p.title, p.visible, t.name FROM Page p, Page pp, Template t WHERE pp.id = p.parent AND p.templateid = t.id AND p.id = $pageid

Door twee keer een "instance" van dezelfde tabel aan te maken (p en pp), heb ik het probleem opgelost. :*) Deze post is dus verder niet meer nodig, maar aangezien iemand anders misschien hetzelfde probleem heeft post ik hem toch maar...