login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Sub item bij hoofditem?

Offline edwin87 - 11/04/2007 11:18 (laatste wijziging 11/04/2007 11:32)
Avatar van edwin87Nieuw lid Ik zit met het volgende probleem met mijn menu.
Ik wil graag een submenu structuur creeren.
Ik heb de volgende tabel:

Menu:
m_id, m_parent_id, m_titel, m_level.

Ik heb de volgende records.
Hoofditem is altijd een 0 bij parent_id
Level houd in welke diepte. Hoofditem is altijd 1
Level 1 = Hoofd
Level 2 = Sub
Level 3 = Sub sub

1,0,Home,1
2,1,About,2
3,1,Contact,2
4.2,Over mij,3


Ik hoop dat ik de structuur een beetje duidelijk heb uitgelegd. Nu kom ik met het volgende probleem:

Het is de bedoeling dat ik met een query alle sub items ophaal die bij (zie voorbeeld) ID 1 Home hoort.
Maar ik krijg tot nu toe de juiste output niet.

Dit resultaat zou ik dan moeten krijgen.

Home
-About
--Over mij
-Contact.

Ik heb nu de volgende query's
zie:
http://www.plaatscode.be/4984/

http://www.phpr...ed-trees-1
heb ik het idee vandaan.

Ik hoop dat jullie me kunnen helpen.
Bijvoorbaat dank,
Edwin

9 antwoorden

Gesponsorde links
Offline Ultimatum - 11/04/2007 12:20
Avatar van Ultimatum PHP expert Een globale overzicht van hoe ik het zou doen:

  1. <?php
  2. select() //alle hoodmenus, dus waar level == 1
  3. while() {
  4. select2() //waar parentid == id van hoofdmenu en level == 2
  5. while2() {
  6. select3() //zelfde als select2 maar dan level == 3 en id == submenu
  7. while() {
  8.  
  9. }
  10. }
  11. }
  12. ?>


Ik heb dus whiles in whiles en jij had alles erbuiten. Ben er niet zeker van of dit werkt. Ik heb ook ooit eens zoiets gemaakt en was er aardig lang mee bezig. Even kijken of ik de code nog heb..
Offline edwin87 - 11/04/2007 12:23
Avatar van edwin87 Nieuw lid Heb het inmiddels werkend gekregen!
Nu het volgende:

Hebben jullie misschien ideeën hoe ik nu er voor kan zorgen dat je eerst alle hoofditems op het beeld krijgt maar wanneer je op het hoofditem klikt dat je de sub items van dat hoofd item krijgt te zien?

Bijvoorbaat dank,
Edwin
Offline ArndJan - 11/04/2007 12:30 (laatste wijziging 11/04/2007 12:30)
Avatar van ArndJan PHP interesse Laad de subitems in een div element en als je op de hoof item klikt kun je dmv javascript de div laten zien.

  1. <a href='' onlick='document.getElementById('$id').style.display = block;'>Hoofitem</a>
  2.  
  3. <div style='display: none;'>
  4. Sub item
  5. </div>


Zoiets?
Offline edwin87 - 11/04/2007 13:23
Avatar van edwin87 Nieuw lid Dat is wel iets wat ik zoek ja. Maar zou je het me nader kunnen uitleggen of eventueel een tutorial kunnen posten? Mijn kennis in javascript is miniem.

Offline Thomas - 11/04/2007 13:26
Avatar van Thomas Moderator Het kan met één query als je een volgorde bijhoudt, en het sorteerprobleem naar PHP verplaatst.
Offline edwin87 - 11/04/2007 13:28
Avatar van edwin87 Nieuw lid Ik hou een volgorde bij.
Ik laat de menu items sorteren op m_plek
Daar staan getallen in bijv, 1,2,3,4,5

Hoe zou ik die query moeten samenstellen volgens jouw dan?
Offline timmie_loots - 11/04/2007 14:04
Avatar van timmie_loots PHP gevorderde m_level moet je uit de database weglaten, die kun je gewoon runtime bepalen.
Offline edwin87 - 11/04/2007 14:12
Avatar van edwin87 Nieuw lid Hoe bedoel je dat ik dit runtime kan laten doen? Door welke query?
Offline Thomas - 11/04/2007 14:33
Avatar van Thomas Moderator Niet als je nadien items ergens tussenvoegt.
Daarnaast kun je dan niet in één query alles sorteren (volgorde van invoeren is niet per sé volgorde van afdrukken).
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.19s