27. marts 2001 - 15:16Der er
16 kommentarer og 1 løsning
dropdownboks og databaser
Hej! jeg vil gerne vise en par dropdownbokse på en asp-side med indholdet fra en database. Jeg har f.eks. et felt i databasen der hedder \"navn\" og et der hedder \"status\".
Så vil jeg gerne vise en dropdownboks med alle de navne hvor status er = 1, og en anden dropdownboks med alle de navne hvor status er = 2.
Derudover skal navnet i dropdownboksen fungerer som et link, dvs. hver gang man klikker på et navn, så skal man hoppe over på en anden asp-side.
Er der nogen der kan hjælpe her??? Meget gerne kodeeksempler!!!
<select size=\"1\" name=\"navig\" onChange=\"window.open(this.options[this.selectedIndex].value,\'hovedramme\')\"> <option>Vælg sommerhus...</option> <option>-------------------------</option> <% Do While Not Record.EOF %> <% If Record(\"Status\") = 1 Then %> <option value=\"SIDE.ASP?id=<% Response.Write Record (\"Link?\") %>\"><% Response.Write Record (\"NAVN\") %>, </option> <% else end if %> <% Record.MoveNext Loop %> <option>-------------------------</option> </select>
Håber du forsåt eksemplet :o) Den hvor der står \"Vælg sommerhus\", kan du bare skrive hvad der skal stå hvis ikke andet er valgt, den tager så Oog skriver NAVN, hvis dettes status er = 1. Hvor har du gemt linket? Det skal erstatte: SIDE.ASP?id=<% Response.Write Record (\"Link?\") %>
\' her laves formen Response.write\"<form action=\'default.asp\' name=\'selecter\'>\" \' her laves select, bemærk : onchange response.write\"<select style=\'width:150;\' onchange=\'return GotoURL()\' name=\'sendinfo\' size=1>\"
if request(\"side\") <> \"\" then SqlQ = \"Select * from tabel where streng id\" & request(\"id\") & \" order by HostingPris ASC\" else \' ellers skiftes til viste select SqlQ = \"Select * from tabel order by kriterie ASC\" end if Set retur_SqlQ = Connection.execute(SqlQ) if not retur_SqlQ.eof then do while not retur_SqlQ.EOF if retur_SqlQ(\"HostingID\") <> request(\"hosting\") then Response.write\"<option value=\'\" & retur_SqlQ(\"ID\") & \"\'>\" & retur_SqlQ(\"navn\") & \"</option>\" end if retur_SqlQ.movenext Loop end if response.write\"</select>\"
\' her laves formen Response.write\"<form action=\'default.asp\' name=\'selecter\'>\" \' her laves select, bemærk : onchange response.write\"<select style=\'width:150;\' onchange=\'return GotoURL()\' name=\'sendinfo\' size=1>\"
if request(\"side\") <> \"\" then SqlQ = \"Select * from tabel where streng id\" & request(\"id\") & \" order by HostingPris ASC\" else \' ellers skiftes til viste select SqlQ = \"Select * from tabel order by kriterie ASC\" end if Set retur_SqlQ = Connection.execute(SqlQ) if not retur_SqlQ.eof then do while not retur_SqlQ.EOF if retur_SqlQ(\"HostingID\") <> request(\"hosting\") then Response.write\"<option value=\'\" & retur_SqlQ(\"ID\") & \"\'>\" & retur_SqlQ(\"navn\") & \"</option>\" end if retur_SqlQ.movenext Loop end if response.write\"</select>\"
<select size=\"1\" name=\"navig\" onChange=\"window.open(this.options[this.selectedIndex].value,\'hovedramme\')\"> <option>-------------------------</option> <% Do While Not rs.EOF %> <% If rs(\"status\") = 1 Then %> <option value=\"<%=rs(\"link\")%>\"?id=<% Response.Write rs(\"link\")%>\"><% Response.Write rs(\"fuldenavn\") %> </option> <% else end if %> <% rs.MoveNext Loop %> <option>link2</option> </select>
Det virker, men: den viser kun den ene record fra databasen med status = 1 (jeg har flere). \"fuldenavn\" er det navn jeg gerne vil have i dropdownboksen. Linket har jeg lagt i databasen i et felt der hedder \"link\".
Så hvordan viser jeg flere (alle dem med status = 1) i dropdownboksen???
ja, men hvis man kun har 2 felter så er det jo fint nok. Men dit forslag er bedre så man ikke hele tiden skal ind og ændre i den linie med id`et, hvis der kommer flere på senere.
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.