22. oktober 2002 - 13:56Der er
13 kommentarer og 1 løsning
At få data fra en database ned i en dropdown
hej Jeg har et problem med at få mine data fra databasen ned i en dropdown menu for at derefter bruge dropdownen til at søge i databasen jeg skal kunne søge på firma og plads min asp ser sådan ud:
<% if request.querystring("vis") = "soegeresultat" then titel = request.form("titel") if titel = "" then titel = "Du har ikke indtastet noget søgeord."
beskrivelse = request.form("beskrivelse") if beskrivelse = "" then beskrivelse = "Du har ikke indtastet noget søgeord."
type0 = request.form("type0")
%>
<h1>Søgeresultat</h1>
Du har søgt på henholdsvis:<br><br> <table width="100%"> <tr> <td width="25%">Titel:</td> <td width="75%"><%=titel%></td> </tr> <tr> <td width="25%">Beskrivelse:</td> <td width="75%"><%=beskrivelse%></td> </tr> </table> <hr><br> <% Set Conn = Server.CreateObject("ADODB.Connection") Conn.Open "Driver={Microsoft Access Driver (*.mdb)};DBQ=" & Server.Mappath("data.mdb")
SQL = "SELECT * FROM liste WHERE Firma like '%" & titel & "%' AND Plads like '%" & beskrivelse & "%' AND Tillidshverv like '%" & type0 & "%'"
Set RS = Conn.Execute(SQL)
count = 0
if RS.eof then response.write "<b>0 resultater</b>" end if Do While Not RS.EOF count = count + 1 %>
RS.close set RS = nothing Conn.close set Conn = nothing %> <br> <hr>
<% if count <> 0 then %> Der var i alt <%=count%> resultater der matchede din søgning. <a href="data.asp">Klik her for at foretage en ny søgning</a> <% end if %>
her er det jeg arbejder med lige nu <% if request.querystring("vis") = "soegeresultat" then titel = request.form("titel") if titel = "" then titel = "Du har ikke indtastet noget søgeord."
beskrivelse = request.form("beskrivelse") if beskrivelse = "" then beskrivelse = "Du har ikke indtastet noget søgeord."
RS.close set RS = nothing Conn.close set Conn = nothing %> <br> <hr>
<% if count <> 0 then %> Der var i alt <%=count%> resultater der matchede din søgning. <a href="data.asp">Klik her for at foretage en ny søgning</a> <% end if %>
nah - men nu skal du jo også tænke dig om og så bygge det ordentligt op... det er jo ikke korrekt kode at have mere end en <body> på en side - og så har du flere <form> på din side, og de virker uafhængigt af hinanden.
Så allerførst skal du have en ordentlig html-struktur i dit dokument...
så tror jeg der er lidt mere orden i min asp men når jeg vælger noget af det der står i min dropdown bliver det ikke brugt som søge kriterer her er det nye
<% if request.querystring("vis") = "soegeresultat" then titel = request.form("titel") if titel = "" then titel = "Du har ikke indtastet noget søgeord."
beskrivelse = request.form("beskrivelse") if beskrivelse = "" then beskrivelse = "Du har ikke indtastet noget søgeord."
RS.close set RS = nothing Conn.close set Conn = nothing %> <br> <hr>
<% if count <> 0 then %> Der var i alt <%=count%> resultater der matchede din søgning. <a href="data.asp">Klik her for at foretage en ny søgning</a> <% end if %>
<table width="100%"> <html><head> <title>Udfyld en combobox fra en Database</title> </head>
<% Set tempConn = Server.CreateObject("ADODB.Connection") strDSN = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("data.mdb") tempConn.Open strDSN strSQL = "SELECT DISTINCT firma, firma FROM liste ORDER By firma " Set rs = tempConn.Execute(strSQL) Response.Write "<select name=dropdown size=1>" Do While Not rs.EOF Response.Write "<option value=" & rs("firma") & ">" & rs("firma") & "</option>" rs.MoveNext Loop Response.Write "</select>" tempConn.Close Set tempConn = Nothing
Set tempConn = Server.CreateObject("ADODB.Connection") strDSN = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("data.mdb") tempConn.Open strDSN strSQL = "SELECT DISTINCT postnr, postnr FROM liste ORDER By postnr " Set rs = tempConn.Execute(strSQL) Response.Write "<select name=dropdown size=1>" Do While Not rs.EOF Response.Write "<option value=" & rs("postnr") & ">" & rs("postnr") & "</option>" rs.MoveNext Loop Response.Write "</select>" tempConn.Close Set tempConn = Nothing %>
ja - men hvis du så kigger lidt efter så hedder begge dine dropdownfelter "dropdown" så det er i hvert fald en fejl... du har stadig ret fatale html-fejl, men dog ikke noget der burde påvirke resultatet...
så prøv først at lade hvert formelement få hver deres navn - og prøv ellers at lave det simple fra starten. Nøjs med at send din form videre til en side der bare udskriver indholdet af hvert formelement;
i stedet for at sende til søgeformularen så nøjs med at sende din form til en side der fx hedder test.asp hvori du laver den angive kode - på den måde kan du se om det rigtige indhold kommer med fra formen... altså fx
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.