webForumDet fria alternativet

Dropdownmeny anpassad efter databas..

25 svar · 723 visningar · startad av zlasher

zlasherMedlem sedan okt. 2001157 inlägg
#1

Hejsan!

Jag håller på att utveckla en sida för ett program på gymnasiet jag går på. Jag ska göra ett komplett adminsystem så vem som helst ska kunna styra sidan hur dom vill...

Nu undrar jag om det går att göra en dropdownmeny i förslagsvis dthml el. likn. och sen att den ska läsa de olika alternativen från en databas?

På så vis kan administratören som troligtvis inte kommer kunna någon programmering alls också kunna styra navigationen vilket vore jättebra... :)

Går det här att genomföra?

(det här kanske är fel forum att fråga i..?)

Mvh
/S

solbulleMedlem sedan mars 20015 287 inlägg
#2

Det går väl att genomföra, det är ju bara att du tar en meny men i stället för att hårdkoda ien html-fil vad det ska stå i den hämtar du datat från en db...

OveRRidEMedlem sedan feb. 200112 078 inlägg
#3

Eftersom du frågar i ASP-forumet, så antar jag att det handlar om ASP? ;) Vilken typ av databas använder du?

Du kan väldigt enkelt presentera data i t.ex. dropdownmenyer genom att loopa ut datat från databasen med något som kallas ett recordset.

Jag skulle vilja veta vilken typ av data det handlar om och exakt hur det skall se ut.

Exempel:

[red]<%
set conn = server.createobject("Adodb.connection")
conn.open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & server.mappath("databas.mdb")
set rs = conn.execute("SELECT * FROM users ORDER BY users")
%>[/red]

<select name="users">
   [red]<% do until rs.eof %>[/red]
   <option value="<%=rs("id")%>"><%=rs("username")%>
   [red]<% rs.movenext
          loop
   %>[/red]
</select>

[red]<%
set rs = nothing
set conn = nothing
%>[/red]

Exemplet utgår ifrån att du har en Access-databas som heter 'databas.mdb', en tabell som heter 'users' med minst två kolumner; 'id' och 'username'. Med den koden får du en rullist med alla användare och deras id-nummer.

crisse6Medlem sedan dec. 20002 526 inlägg
#4

avsluta med </option> ocksa for basta ;)

OveRRidEMedlem sedan feb. 200112 078 inlägg
#5

crisse6 skrev:

avsluta med </option> ocksa for basta ;)

Finns inga krav som säger att jag måste det, om man inte följer fjantiga HTML-regler. ;)

crisse6Medlem sedan dec. 20002 526 inlägg
#6

Hahahahahahaha! :P
seriost, fick faktiskt problem med det nar jag korde tva select grejor...
;) :e

zlasherMedlem sedan okt. 2001157 inlägg
#7

Okej, tack för svar... :)

Jag var dock lite otydlig kanske....
Tack OveRRidE för ditt exempel men jag glömde säga att jag kan ASP relativt bra så det hade jag kunnat fixa.. ;)

Men jag kom på att det inte borde vara så svårt att göra det ändå!

Med dropdownmeny menade jag ungefär nåt sånt här..
http://www.scriptbreaker.com/examples/amazing_drop_down.asp

men jag återkommer säkert om jag stöter på problem :)

tack igen..
S

crisse6Medlem sedan dec. 20002 526 inlägg
#8

ar inte det dar javascript?

OveRRidEMedlem sedan feb. 200112 078 inlägg
#9

Aha, ok.

Det var ju lite skillnad. Men egentligen fungerar de ju på samma sak, för någonstans i den där koden finns det ju en lista på meny-alternativ, och då kan du generera den.

Lycka till! :)

PatrikBMedlem sedan mars 20002 836 inlägg
#10

visst är det javascript men det går att populera menyerna med hjälp av asp

Har gjort det på flera olika siter ...
Man måste helt enkelt "hålla tungan rätt i mun" då det är ett jäkla pillande beroende på vilken nivå man är på. Allt handlar egentligen om att "bygga strängar".

Du loopar ut "som vanligt" och "printar" ut värdena som menyn vill ha .... på rätt ställe

Prova med ngt enkelt först och gå vidare ned i hiarikin

cya,
PatrikB

zlasherMedlem sedan okt. 2001157 inlägg
#11

Nu är jag här igen... :)

jag tänkte jag skulle visa lite av hur koden ser ut iaf...

,"Hem","index.htm",,"Hem",1 // "Description Text", "URL", "Alternate URL", "Status", "Separator Bar"
,"Nyheter&nbsp;&nbsp;","show-menu=nyheter",,"",1
,"Elev&nbsp;&nbsp;","show-menu=elev",,"",1
,"Länkar&nbsp;&nbsp;","show-menu=downloads",,"",1
,"Kontakta&nbsp;&nbsp;","show-menu=search",,"",1
])

	addmenu(menu=["nyheter",
	,,120,1,"",style1,,"left",effect,,,,,,,,,,,,
	,"DN","http://dn.se",,,0
	,"Aftonbladet","http://dn.se",,,0
	,"Expressen","http://dn.se",,,0
	])
	
	
		addmenu(menu=["elev",
		,,170,1,"",style1,,"left",effect,,,,,,,,,,,,
		,"Uppgifter","http://www.cnn.com",,,0
		,"Konfliktsområden","show-menu=konflikt",,,0
		,"Länkarkiv","http://www.abcnews.com",,,0
		,"Skicka in uppsatser","http://news.bbc.co.uk",,,0
		])

det är i princip här som den listar alla menyns delar och undergrupper...

som ni säkert förstår vill jag att på nåt sätt ordna i förslagsvis en relationsdatabas, (vilket jag inte kan mkt om) att de länkar eller dropdown"grejer" som är högst upp, "parents" ska vara t.ex 1,2,3,4,5 och sen de som är under 1:an blir 1.1,1.2 o.s.v och samma sak med de andra...

jag har försökt lite själv men det gick inte så jättebra.. :)
Har ni nåt tips?
Den ville inte skriva ut menyn när jag la dit <%=rs("parentname")%> istället för t.ex Hem som finns överst i kodexemplet...

tacksam för all hjälp :)

mvh
Samuel

solbulleMedlem sedan mars 20015 287 inlägg
#12

Problemet som jag ser det är hur du ska bygga upp menyn dynamiskt så att säga. Jag tror att du får bygga bit för bit med tungan rätt i mun.
Det ser ut som om du listar "parents" först och sen kommer dess underrubriker.
Antingen kan du loopa ut allt i ett svep annars kanske att man loopar ut db-innehållet i variabler som man sen använder i menyn. (Fattade någon det där?)

Lite pseudokod tänkte jag skriva, men det ser väldigt bökigt ut...
[kod]

zlasherMedlem sedan okt. 2001157 inlägg
#13

Jag är ledsen men jag får det inte riktigt att fungera.. :(
Ni har inte lust att ladda ner exemplet, (länken jag gav förut) och testa om ni kan få ordning på det? :)

Har någon av er gjort en sån här meny kopplad till en databas förut?

mvh
Samuel

solbulleMedlem sedan mars 20015 287 inlägg
#14

solbulle skrev:

Lite pseudokod tänkte jag skriva, men det ser väldigt bökigt ut...

Som jag skrev tidigare försökte jag mig först på att skriva en snutt, men för min del är det alldeles för snårigt att se sammanhanget i den koden samt vad som ska in från db.
Jag hoppas att någon annan orkar...

Örjan HagströmMedlem sedan feb. 20035 inlägg
#15

Jag försöker använda koden för dropdownmeny men endast ett fält visas i stället för de två som enligt uppgift skall visas.
Dessutom är min fråga; var lagras vald information så att den kan användas för sökning?
tacksam för svar
/Örjan

PatrikBMedlem sedan mars 20002 836 inlägg
#16

Samma sak här ... har tyvärr inte tid att sätta mig in i vart de olika sakerna från db ska in i menyn ..... lite mycket på jobbet just nu.

Ja, jag har gjort detta förut ........ med en CoolMenu v3

Börja med ngt lätt ... endast ett steg, dvs inga submenyer. När du fått alla menyvalen att synas bygger du på ett steg i taget.

cya,
PatrikB

PatrikBMedlem sedan mars 20002 836 inlägg
#17

förresten, ser inte att du gett info om hur din databas ser ut ..... utan den blir det än svårare för ngn att kunna hjälpa dig.

Det man skulle behöva veta är tabellstrukturen (alla tabeller, hur du får tag på "underkategorier" etc.)

cya,
PatrikB

Örjan HagströmMedlem sedan feb. 20035 inlägg
#18

Jag försöker lära mig att förstå vad som händer.
Min databas är som i inlägget; en Accessdatabas med två fält "Id" och "Username"
/Örjan

zlasherMedlem sedan okt. 2001157 inlägg
#19

PatrikB skrev:

Börja med ngt lätt ... endast ett steg, dvs inga submenyer. När du fått alla menyvalen att synas bygger du på ett steg i taget.

Okej, jag ska försöka det..

Det svåra är just tabellstrukturen. Jag skulle få hjälp att göra en relationsdatabas av en lärare men han har inte gjort det än och det är lite knepigt.

Om man kör med en platt db så kan man inte ändra strukturen eftersom på samma sätt som om du kör en relationsdatabas. Den som ska styra sidan måste alltså kunna ändra allt efter sitt tycke och smak och det via enkla formulär, så jag måste ha en relationsdb.

Den ska vara utformad, (tror jag) så jag har en s.k. parent-tabell. Sen ska administratören kunna lägga in nya tabeller om det skulle behövas och allt ska vara sammanlänkat.

Förstår ni hur jag menar?

ps. Hur ser en CoolMenu v3 ut? ds.

mvh
Samuel

EDIT:
Jag fick det att funka rätt så bra nu!! Varför det inte gick förut överhuvudtaget var för att en kompis till mig sa att man måste avsluta scriptet då man ska lägga till t.ex. <% do until rs.eof %>...
Men det skulle man inte alls göra!! Så det funkar hyfsat nu...

Men det kommer ändå bli problem senare om jag inte har en relationsdatabas... :(

pirroMedlem sedan aug. 2001226 inlägg
#20

Coolmenu v3 kommer fårn dhtmlcentral skulle ja tro ( http://www.dhtmlcentral.com/projects/coolmenus/ )
fast nu är de uppe i coolmenu v4.
Ladda hem v4, med den följer ett exempel hur man använder en db + asp + coolmenu v4.
Over and Out
Pirro

133 ms totalt · 3 externa anrop · v20260731065814-full.fb544a5a
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
130 ms — hämta tråd, inlägg och bilagor (db)