Registreer FAQ Berichten van vandaag


Ga terug   Scholieren.com forum / Technologie / Software & Hardware
Reageren
 
Topictools Zoek in deze topic
Oud 04-06-2002, 08:48
Orion
Avatar van Orion
Orion is offline
Ingewikkeld probleem: ik wil het menuutje op mijn website (te bekijken op http://apollo.frd.dhs.org/service/ als mijn server online is) door php laten maken naar waarden die uit een database getrokken worden.

de output (JavaScript) moet er bijvoorbeeld als volgt uit komen te zien:

PHP-code:
Menu1=new Array("Home","index.php","",0,20,128);

Menu2=new Array("Over mij","","",2);
    
Menu2_1=new Array("Profiel","?page=bla","",0,20,128);    
    
Menu2_2=new Array("Hobbies","?page=bla","",3);
        
Menu2_2_1=new Array("Zweefvliegen","?page=bla","",0,20,128);
        
Menu2_2_2=new Array("Computers","?page=bla","",0);
        
Menu2_2_3=new Array("Fotografie","?page=bla","",0);

Menu3=new Array("Computer","blank.htm","",2);
    
Menu3_1=new Array("Hardware","?page=bla","",0,20,128);
    
Menu3_2=new Array("Software","?page=bla","",2);
        
Menu3_2_1=new Array("Installatie","?page=bla","",0,20,128);
        
Menu3_2_2=new Array("Webdesign","?page=bla","",0);
    
Menu4=new Array("Studiebegeleiding","","",0);
    
Menu5=new Array("Auto","","",0);

Menu6=new Array("","","",0);

Menu7=new Array("Contact","mailto:florian@scholieren.com","",0); 

Voor degenen die er bekend mee zijn: ik wil zoiets als de manier waarop je bij vbb de forumlijst kunt indelen en van volgorde kunt veranderen.

Belangrijke punten:
- weinig database queries
- makkelijk invoegen van menu-items, dus alleen naam, link en volgorde nummer ofzo


Eigenlijk zou dus alle info met 1 querie uit de database moeten komen, maar hoe sorteer je het dan.... ik kom er niet uit


Een database structuur als dit had ik bedacht, maar het zal wel iets anders moeten

Code:
id | text          | link      | parent | order
1  | Home          | index.php | 0      | 1
2  | Over mij      | bla.php   | 0      | 2
3  | Profiel       | bla.php?x | 2      | 1
4  | Hobbies       | kwak.htm  | 2      | 2
5  | Zweefvliegen  | blub.html | 4      | 1
6  | Computers     | whoei.php | 4      | 1

Wie heeft er een geniaal idee?
__________________
Ongefilterd. Van nature troebel.
Met citaat reageren
Advertentie
Oud 04-06-2002, 08:51
Verwijderd
het is makkelijker om een hoofdtabel met subtabel te maken, dan kun je joins uitvoeren (en meestal een select-statement).
Met citaat reageren
Oud 04-06-2002, 08:52
Verwijderd
1 ander dingetjes wel,
het menu komt me erg bekend voor.
alsof het van een bekende website afkomt :/

order by 'parent'




maareuhnm, kun je niet beter met 100 en 200 gaan werken
want dan kun je als het moet er nog een 150 tussen zetten enzo
Met citaat reageren
Oud 04-06-2002, 12:45
Chimera
Avatar van Chimera
Chimera is offline
Citaat:
eddie schreef:
het is makkelijker om een hoofdtabel met subtabel te maken, dan kun je joins uitvoeren (en meestal een select-statement).
Jeej! Whohooo! Je kunt joins uitvoeren! En zelfs een select! W00t!

Met citaat reageren
Oud 04-06-2002, 12:54
Chimera
Avatar van Chimera
Chimera is offline
Citaat:
Orion schreef:

Een database structuur als dit had ik bedacht, maar het zal wel iets anders moeten
Kan prima zo, maar je geeft alleen niet genoeg informatie. Je hoeft namelijk niet elke keer alle menu-items uit de DB te trekken, aangezien ze hoogstwaarschijnlijk toch niet allemaal zichtbaar zijn.

Hoe diep kan dit gaan? x-lagen, of onbeperkt? Ik heb nl. een dergelijk menu gebouwd (http://www.webcontext.nl/ , menu links) maar dat heeft maar 2 lagen.

In je code zul je moeten kijken welk item actief (op geklikt). Dan haal je de root items (parent 0), het actieve item, en zijn sub-items in een keer op. Dus:

$query = "SELECT * FROM menu WHERE parent IN (0,$actief->id) OR id=$actief->id ORDER BY parent, order";

Kweet niet of er fouten inzitten, maar dit moet werken. De exacte boomstructuur moet je dan dmv code uitvogelen, daar is een RDB niet echt handig in.
Met citaat reageren
Advertentie
Reageren


Regels voor berichten
Je mag geen nieuwe topics starten
Je mag niet reageren op berichten
Je mag geen bijlagen versturen
Je mag niet je berichten bewerken

BB code is Aan
Smileys zijn Aan
[IMG]-code is Aan
HTML-code is Uit

Spring naar


Alle tijden zijn GMT +1. Het is nu 13:11.