Avatar billede jhavn Nybegynder
22. oktober 2002 - 13:56 Der 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
    %>

<%=count%>) <br><%=RS("Fornavn")%><br><%=RS("Efternavn")%><br><%=RS("Adresse")%><br><%=RS("Postnr")%><br><%=RS("Telefon (privat)")%><br><%=RS("E-post-adresse")%><br><%=RS("Firma")%><br><%=RS("Plads")%><br>

<% RS.MoveNext
Loop

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 %>

<% else %>




<h1>Tillidshverv´s søgemaskine</h1>

<form method="post" action="data.asp?vis=soegeresultat">

<table width="100%">
<tr>
    <td width="25%">Firma:</td>
    <td width="75%"><input type="text" name="titel" size="50"></td>
</tr>
<tr>
    <td width="25%">Plads:</td>
    <td width="75%"><input type="text" name="beskrivelse" size="50"></td>
</tr>
<tr>
   
    <td width="25%">Vælg Tillidshverv</td>
    <td width="75%"><select name="type0">
    <option value="tr">TR...</option>
    <option value="sr">SR...</option>
    </select></td>
</tr>

</table>

<br>
<br>
<input type="submit" value="Søg!">


</form>

<br><hr>
Hej dette er en testside
prøv med iss som firma og
trafikservice som plads og tr eller sr

<% end if %>
Avatar billede keysersoze Ekspert
22. oktober 2002 - 15:06 #1
Avatar billede jhavn Nybegynder
22. oktober 2002 - 17:45 #2
jeg har data med samme indhold og vil helst ikke have dem flere gange
Avatar billede keysersoze Ekspert
22. oktober 2002 - 19:18 #3
er det så ikke bare fordi du har indholdet flere gange i databasen også?

i så fald sakl du bruge DISTINCT i din sql
Avatar billede jhavn Nybegynder
22. oktober 2002 - 21:39 #4
øhh nu er jeg på den, hvad mener du med DISTINCT jeg er ikke så godt til asp (men prøver og har stor glæde af dine svar)
Avatar billede keysersoze Ekspert
22. oktober 2002 - 21:46 #5
distinct har ikke noget med aså at gøre men med sql...

SELECT DISTINCT kolonne FROM tabel

så fjerne den dubletter
Avatar billede jhavn Nybegynder
22. oktober 2002 - 22:00 #6
ja det er jeg med på men når jeg sætter den del fra http://activedeveloper.dk/aspdigital/kapitel2/db_combobox.asp ind i min asp med DISTINCT virker det også men jeg kan ikke søge eller få noget resutat frem fra min database
Avatar billede jhavn Nybegynder
22. oktober 2002 - 22:01 #7
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."

type0 = request.form("type0")

%>
<body bgcolor="#FF0000">
<SCRIPT language=JavaScript>
   
    </SCRIPT>   
    <SCRIPT language=JavaScript src="menu_array.js" type=text/javascript></SCRIPT>
    <SCRIPT language=JavaScript src="mmenu.js" type=text/javascript></SCRIPT><br><br><br><br><br><br>
</body>

<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
    %>

<%=count%>) <br><%=RS("Fornavn")%><br><%=RS("Efternavn")%><br><%=RS("Adresse")%><br><%=RS("Postnr")%><br><%=RS("Telefon (privat)")%><br><%=RS("E-post-adresse")%><br><%=RS("Firma")%><br><%=RS("Plads")%><br>

<% RS.MoveNext
Loop

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 %>

<% else %>



<body bgcolor="#FF0000">
<SCRIPT language=JavaScript>
   
    </SCRIPT>   
    <SCRIPT language=JavaScript src="menu_array.js" type=text/javascript></SCRIPT>
    <SCRIPT language=JavaScript src="mmenu.js" type=text/javascript></SCRIPT><br><br><br><br><br><br>
</body>




<h1>Tillidshverv´s søgemaskine</h1>

<form method="post" action="data.asp?vis=soegeresultat">

<table width="100%">
<tr>
   
<td width="25%">Firma:</td>
    <td width="75%"><input type="text" name="titel" size="50"></td>
</tr>
<tr>
    <td width="25%">Plads:</td>
    <td width="75%"><input type="text" name="beskrivelse" size="50"></td>
</tr>
<tr>
   
    <html><head>
<title>Udfyld en combobox fra en Database</title>
</head><body>

<form>
<%
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
%>
</form>

</body></html>
</tr>

</table>

<br>
<br>
<input type="submit" value="Søg!">


</form>

<br><hr>
Hej dette er en testside
prøv med iss som firma og
trafikservice som plads og tr eller sr

<% end if %>
Avatar billede keysersoze Ekspert
22. oktober 2002 - 22:07 #8
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...
Avatar billede jhavn Nybegynder
22. oktober 2002 - 22:52 #9
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."

type0 = request.form("type0")

%>

<SCRIPT language=JavaScript>
   
    </SCRIPT>   
    <SCRIPT language=JavaScript src="menu_array.js" type=text/javascript></SCRIPT>
    <SCRIPT language=JavaScript src="mmenu.js" type=text/javascript></SCRIPT><br><br><br><br><br><br>

<h1>Søgeresultat</h1>


<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 '%" & firma1 & "%' AND Tillidshverv like '%" & type0 & "%' AND postnr like '%" & postnr & "%'"
   
    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
    %>

<%=count%>) <br><%=RS("Fornavn")%><br><%=RS("Efternavn")%><br><%=RS("Adresse")%><br><%=RS("Postnr")%><br><%=RS("Telefon (privat)")%><br><%=RS("E-post-adresse")%><br><%=RS("Firma")%><br><%=RS("Plads")%><br>

<% RS.MoveNext
Loop

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 %>

<% else %>




<SCRIPT language=JavaScript>
   
    </SCRIPT>   
    <SCRIPT language=JavaScript src="menu_array.js" type=text/javascript></SCRIPT>
    <SCRIPT language=JavaScript src="mmenu.js" type=text/javascript></SCRIPT><br><br><br><br><br><br>




<h1>Tillidshverv´s søgemaskine</h1>

<form method="post" action="data.asp?vis=soegeresultat">

<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
%>

</html>
<tr>
    <td width="25%">Plads:</td>
    <td width="75%"><input type="text" name="beskrivelse" size="50"></td>
</tr>
<tr>
   
    <td width="25%">Vælg Tillidshverv</td>
    <td width="75%"><select name="type0">
    <option value="tr">TR...</option>
    <option value="sr">SR...</option>
    </select></td>
</tr>

</table>

<br>
<br>
<input type="submit" value="Søg!">


</form>

<br><hr>
Hej dette er en testside
prøv med iss som firma og
trafikservice som plads og tr eller sr

<% end if %>
Avatar billede keysersoze Ekspert
22. oktober 2002 - 22:59 #10
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;

<%
response.write request.form("dinform1")
response.write request.form("dinform2")
'etc
%>
Avatar billede jhavn Nybegynder
22. oktober 2002 - 23:24 #11
den forstår jeg ikke
Avatar billede keysersoze Ekspert
22. oktober 2002 - 23:35 #12
hvilken del af det?
Avatar billede jhavn Nybegynder
23. oktober 2002 - 00:19 #13
det sidste jeg har ændret dropdown til dropdown ogdropdown1
Avatar billede keysersoze Ekspert
23. oktober 2002 - 00:28 #14
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

test.asp:

<%
response.write request.form("dropdown")
response.write request.form("dropdown")
'etc
%>
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester