Hoe menu met submenu’s en bijhorende tekst uit DB halen.

Vragen/antwoorden betreffende het maken van je eigen website.

kris.gua
Lid geworden op: 14 apr 2006, 10:43
Locatie: Brasschaat

13 feb 2013, 13:36

Hallo,
Ik ben bezig een website te maken met een verzameling preken over jaren verzameld. Daarbij komen nogal vel submenu’s , die ik telkens uit de DB wil halen. (met MySql)
Voor de bezoeker van de WS wil ik niet dat alles er tegelijk opkomt, maar dat ze telkens een keuze kunnen maken en verder klikken.

Ik heb heel wat gegoogeld, en denk dat ik dat best met jquery kan doen:
http://www.kriesi.at/archives/create-a- ... via-jquery
http://www.abeautifulsite.net/blog/2008 ... file-tree/

Ik ken wel iets van javascript en PHP, maar ben er maar een krabber in. Ik snap niet hoe ik dit kan aanpassen voor mijn website.

In de DB heb ik
Een tabel “ajaar” met de kolommen id, volgnr, indeling, onderwerp, jaar en inhoud.
Ook een tabel “indeling” met de kolommen id, volgnr, indeling en onderwerp. Hierin staat de lijst van heel het jaar. Ook van de zondagen waarvan nog geen preek voorzien is.

De gegevens van “indeling” zou ik (eventueel) zelf in een ul willen zetten. Dat is een beperkte lijst. Maar de rest is nogal veel en kan steeds wijzigen.
Als men op 1 van de keuzes van indeling klikt, zou een lijst van “onderwerp” – in de volgorde zoals in tabel indeling -moeten tevoorschijn komen. Momenteel is er nog niet voor elk item van indeling iets voorzien, maar dat kan er in de toekomst bijkomen. Die mogelijkheid zou in het script moeten zitten. Ik zou liefst hebben dat de items waar nog geen tekst voor is, nog niet verschijnt.
Volgende stap: als men op het onderwerp klikt, komt er een lijst met jaren waarvoor er een preek (kolom inhoud) voorzien is.
Dan moet de lijst met jaren komen, evt met een deeltje van de tekst in inhoud.
Als met op een jaar klikt, moet heel de tekst van de preek zichtbaar worden.

Ik hoop dat mijn uitleg verstaanbaar is.
Kan iemand me uitleggen wat ik moet aanpassen, of me een andere manier tonen om dit menu met submenus en tekst uit de DB op te halen ?
Alvast bedankt!
Kris
AspireE17-intelcore i3-6100U - Windows 10
HP Pavilion dm3 Notebook PC processor: AMD AThion ™ Neo W2 Dual Core Processor L335 1.60 GHz
Acer Aspire 7551 Processor: AMD Athlon™IIP320dual coreProcessor 2.10 GHzt
Windows 7Home

ultddave
Lid geworden op: 11 mei 2009, 13:59
Locatie: Limburg > Genk

22 feb 2013, 17:48

Hey,

Als je een grote hierarchische structuur wilt visualiseren in de vorm van een menu, heb je een aantal mogelijkheden:
- Statische website waarbij je alles handmatig via HTML, CSS en eventueel jQuery laat visualiseren.
- Dynamische website waarbij je eerst alles uit de DB haalt en dan via een lus (while, for, ...) plaatst in de HTML-code (met CSS en jQuery voor de visualisatie).
- Dynamische website waarbij je een deel uit de DB haalt en visualiseert zoals hierboven beschreven. Andere delen haal je er pas uit, als de gebruiker deze wilt zien, diet moet je dan assynchroon via Ajax doen.

Keuze hangt af van de hoeveelheid items die je moet visualiseren. 10, 20, 100, 1000, ... ;). Persoonlijk zou ik zeggen dat TEM +-40 via de tweede manier gaat. Meer als 40 kan je al beginnen denken aan de derde methode.
Al is dat uiteraard mijn persoonlijke mening. ;)

Je zegt dat je niet uitermate vertrouwd bent met PHP (en ik vermoed dus ook niet met jQuery en Ajax).

Vandaar dat het misschien handiger is om niet te werken met (sub)menu's? Maar eerder met verschillende pagina's met een soort zoek/filterfunctie?

Dus eerste pagina vraag je de gebruiker om een jaartal. Dan ga je via PHP alle preken van dat jaar uit de DB halen en bijvoorbeeld een lijst (HTML tabel) tonen van alle titels van die preken. En dan kan je bijvoorbeeld de gebruiker eentje laten selecteren (checkbox, dubbel klikken, ...) en dan op "ok" klikken bijvoorbeeld. PHP gaat dan alle preken van dat jaar en met die titel uit de DB halen. En dan op de laatste pagina krijgt hij dan de volledige preek in tekstvorm te zien.

Mvg,
Dave
.NET en Java Programmeur

kris.gua
Lid geworden op: 14 apr 2006, 10:43
Locatie: Brasschaat

22 feb 2013, 22:56

Dag Dave, heel erg bedankt voor uw antwoord. Ik had ook al bedacht dat mijn ambities wat te hoog liggen in verhouding met mijn kennis van deze talen.

Ik ben dus begonnen met een veel eenvoudiger versie. Voor het Ajaar heb ik al iets in de maak. (Als ik er ooit heel wat beter in wordt, kan ik de website nog altijd aanpassen.)

Ik bewaar uw voorstellen daarvoor en zal ze (hopelijk) nog wel eens gebruiken. Degenen die deze website willen gebruiken, kunnen ze intussen zo gebruiken. 't Is te zeggen: als ik de opmaak in orde heb, en de andere jaren er ook bij staan.

Het eerste wat ik wil doen als ik terug wat tijd heb, is mijn script om de update weg te schrijven naar de DB in orde krijgen.

Ik werk daarvoor met ckeditor, en kan de gegevens al wel ophalen uit de DB, maar het lukt nog niet ze weg te schrijven. (Gewoonlijk ligt zoiets aan een heel domme fout.) Als ik er niet uit geraak, kom ik nog wel eens terug met een vraag daarover. Maar dan in een ander item.

Nogmaals bedankt!
AspireE17-intelcore i3-6100U - Windows 10
HP Pavilion dm3 Notebook PC processor: AMD AThion ™ Neo W2 Dual Core Processor L335 1.60 GHz
Acer Aspire 7551 Processor: AMD Athlon™IIP320dual coreProcessor 2.10 GHzt
Windows 7Home