login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Query hulp

Offline ThAlmighty - 16/08/2006 16:27 (laatste wijziging 16/08/2006 16:32)
Avatar van ThAlmightyHTML beginner ik heb een menu dat wordt opgebouwd van uit een database, ik zal de table wel weergeven:
  1. | CAT_ID | CAT_NAME | PARENT_ID |
  2. +++++++++++++++++++++++++++++++++
  3. | 1 | foo | null |
  4. | 2 | bar | 1 |
  5. +++++++++++++++++++++++++++++++++


Het is maar een 2 level menu. Dus ik wil een query die de sublinken uitleest (dus records met null bij PARENT_ID), en daarbij de Hoofdcategorie geeft.

Zelf had ik zoiets, maar dit werkt dus niet.
  1. SELECT cat_name AS sub_cat_name, cat_id AS sub_cat_id, parent_id FROM cats LEFT JOIN cats ON parent_id=cat_id

3 antwoorden

Gesponsorde links
Offline Thomas - 16/08/2006 16:29
Avatar van Thomas Moderator Verplaats het sorteerprobleem naar PHP.

Sorteer je query-resultaten op cat_id en vervolgens op parent_id (gewoon een ordinaire SELECT).
Daarna prop je alles in een array in PHP.
Offline ThAlmighty - 16/08/2006 16:32
Avatar van ThAlmighty HTML beginner oke, bedankt, dat neem ik dan als antwoord voor nu. Maar het is dus niet mogelijk een dergelijke query op te stellen?
Offline Thomas - 16/08/2006 16:59
Avatar van Thomas Moderator Tenzij je subqueries kunt gebruiken, of tabellen meerdere keren aanspreekt via aliassen of je met hiërar...xe queries gaat werken kan dit niet.

Maar waarom zou je je in allerlei bochten wringen als je dit makkelijk(er) kunt oplossen als je je sorteerprobleem naar PHP verplaatst.

In PHP kun je het probleem ook definitief oplossen (recursief). Je kunt met veel pijn en moeite (?) wel een SQL-query maken die "twee diep" kan graven in zo'n structuur, maar wat als je nog meer gelaagdheid wilt aanbrengen? Dan moet je waarschijnlijk weer je query aan gaan passen.

Ergo: naar PHP!
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2025 Sitemasters.be - Regels - Laadtijd: 0.37s