login  Naam:   Wachtwoord: 
Registreer je!
 Forum

onbeperkt subcats in een select menu

Offline Ibrahim - 23/04/2007 20:29 (laatste wijziging 23/04/2007 20:33)
Avatar van IbrahimPHP expert Ik ben bezig met een selectmenu waar ik categorieën in wil zetten. Alleen zijn mijn subcategorieën onbeperkt. Dat betekent dat een subcategorie een subcategorie kan hebben en die weer een subcategorie enz.

Hoe krijg ik dan zo'n structuur

  1. CATEGORIE
  2. SUBCATEGORIE
  3. EVT. SUBCATEGORIE
  4. EVT. SUBCATEGORIE
  5. ENZ.
  6. CATEGORIE
  7. en ga zo maar door.


zonder tig whiles uit te voeren (dus een soort van recursie functie maken ?)

3 antwoorden

Gesponsorde links
Offline Stijn - 23/04/2007 21:01
Avatar van Stijn PHP expert Iedere subcategorie is een child van een andere (sub)categorie.

Citaat:
|id|parent|name|
|1|0|PHP|
|2|1|array's|
|3|2|multi-dimensies|
|4|1|functies|
|5|1|variablen|
|6|0|JavaScript|
...


Snap je? Dan kan je met een simpele query alles linken.
Offline Ibrahim - 23/04/2007 21:34
Avatar van Ibrahim PHP expert ik heb dat al, wat ik wil is die structuur in een select menu 
Offline ikkedikke - 24/04/2007 00:42
Avatar van ikkedikke PHP expert probeer eens iets als het volgende:
SELECT * FROM `menu` ORDER BY `parentID`,`id` ASC
en dan iets als:
  1. <?
  2. $sSpaces = '';
  3. $aSpacesID = array();
  4. $iLastID = 0;
  5. while($aRow = .. )
  6. {
  7. if($aSpacesID[max(array_keys($aSpacesID))] == $aRow['parentID'])
  8. {
  9. // de huidige rij hoort nog in dit menu.
  10. }
  11. elseif($aRow['parentID'] == $iLastID)
  12. {
  13. $sSpaces .='&nbsp;';
  14. $iSpacesID = $iLastID;
  15. }
  16. else
  17. {
  18. // we zijn niet een menu dieper gekomen, en niet gelijk gebleven, we moeten dus naar beneden:
  19. unset($aSpacesID[max(array_keys($aSpacesID))]);
  20. $sSpaces = substr($sSpaces,0,-6);
  21. }
  22. echo $sSpaces.$aRow['name'];
  23. }
  24. ?>
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.19s