login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Gegevens crosstable ophalen (Opgelost)

Offline ikki007 - 15/09/2009 15:38
Avatar van ikki007Gouden medailleGouden medaille

PHP ver gevorderde
Hallo,


Ik heb een aantal tabellen, namelijk:

categories
pages
menu

Dit aangezien zowel de categorieen als pagina's in een dynamisch menu moeten komen (up/down).
Vandaar dat de tabel menu als volgt is opgebouwd:

position_id (de positie in het menu)
parent_id (de bijbehorende id van de pagina óf categorie)
parent_cat (die is een enum: cat óf page)

Die laatste, parent_cat, gebruik ik dus om te bepalen in welke tabel te zoeken voor de "titel" van de pagina of categorie.

Alleen hoe ga ik dit nu uitlezen? Het zou als volgt moeten gaan:

  1. SELECT cat_title óf page_title FROM (als parent_cat == cat dan categories) (als parent_cat == page dan pages) WHERE parent_id = cat_id óf page_id ORDER BY position_id ASC


Zou dit mogelijk zijn in 1 query? Of moet ik bij elk resultaat apart de title erbij zoeken?

Ikki.

4 antwoorden

Gesponsorde links
Offline Ontani - 15/09/2009 16:05
Avatar van Ontani Gouden medailleGouden medailleGouden medailleGouden medaille

-1
je tabel iets anders opbouwen.

2 velden ipv 1 parent_id.

parent_page_id en parent_category_id

1 van de 2 is null en de andere bevat de parent die nu in parent_id staat.

Dat scheelt je een hoop miserie
Offline ikki007 - 15/09/2009 16:07
Avatar van ikki007 Gouden medailleGouden medaille

PHP ver gevorderde
Dan kom je toch nog op hetzelfde uit? Dat je dus de query op één-of-andere manier moet wijsmaken in welke tabel die moet kijken..
Offline Ontani - 15/09/2009 16:12
Avatar van Ontani Gouden medailleGouden medailleGouden medailleGouden medaille

-1
  1. select
  2. page_title,
  3. cat_title
  4. from menu
  5. inner join pages on pages.page_id = menu.parent_page_id
  6. inner join categories on categories.category_id = menu.Parent_category_id
  7. order by
  8. position_id asc
Offline ikki007 - 15/09/2009 16:28
Avatar van ikki007 Gouden medailleGouden medaille

PHP ver gevorderde
Toch weer die joins die mij de nek omdraaien  

Moet me daar toch echt even in gaan verdiepen..

In ieder geval heel erg bedankt Ontani, hier gaat het mij wel mee lukken  
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.173s