Avatar billede composer Nybegynder
28. oktober 2003 - 12:45 Der er 12 kommentarer og
1 løsning

Dynamic Dropdown Query

hej jeg har følgende kode:


<%
if session("login") = "" Then
Response.redirect("loginhp.asp")
end if
%>
<link rel="stylesheet" href="css/regl.css" type="text/css">
<table class="txt" border= "1" >
<tr>
<td>
<table class="admin2">
<tr>
<td>

<center>
<%
'ADODB connection objektet
Set Conn = Server.CreateObject("ADODB.Connection")'
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("db1.mdb")
Conn.Open DSN
strSQL = "SELECT firm FROM contacts"
set rs = Conn.Execute(strSQL)
%>
<select name=dropdown size=1>

<%

Do While Not rs.EOF
  Strvar = "<option value=" & ">" & rs("firm") & "</option>"
    Response.Write Strvar
    rs.MoveNext
Loop
%>

%>
</select>
<%
Conn.Close
Set Conn = Nothing
%>
<hr>
<p>
<button type="submit"> Delete Firm</button><p>
<button type="submit"> Clear Form </button><p>
<button type="submit"> Add new Firm </button><p>
<button type="submit"> Save Changes</button><p>
</center>
</tr>
</td>
</table>
<table class="admin2">
<tr>
<td>
<form method="POST" action="gem.asp">
<b>Contry:</b><br> <input name="Land" type="text" value="" size = "20"  id="land">
<br>
<b>Firm:</b><br> <input name="Firm" type="text" value= "<%=strvar2%>" size = "20"  id="Firm">
<p>
<hr class = "par">
<b>Adress1:</b><br> <input name="Adr1" type="text" value="" size = "20"  id="Adr1">
<br>
<b>Adress2:</b><br> <input name="Adr2" type="text" value="" size = "20"  id="Adr2">
<br>
<b>Adress3:</b><br> <input name="Adr3" type="text" value="" size = "20"  id="Adr3">
<br>
<b>Zip code:</b><br> <input name="Zip" type="text" value="" size = "20"  id="Zip">
<p>
<hr class = "par">
<b>Fax:</b> <br><input name="overskrift" type="text" value="" size = "20"  id="overskrift">
<p>

</tr>
</td>
</table>
<table class="admin2">
<tr>
<td>


<b>Att1:</b><br> <input name="Att1" type="text" value="" size = "20"  id="Att1">
<br>
<b>Tlf:</b> <br><input name="Tlf1" type="text" value="" size = "20"  id="Tlf1">
<br>
<b>Mobil:</b> <br><input name="Mobil1" type="text" value="" size = "20"  id="Mobil1">
<br>
<b>E-mail:</b> <br><input name="email1" type="text" value="" size = "20"  id="email1">

<p>
<hr class = "par">

<b>Att2:</b><br> <input name="Att2" type="text" value="" size = "20"  id="Att2">
<br>
<b>Tlf:</b> <br><input name="Tlf2" type="text" value="" size = "20"  id="Tlf2">
<br>
<b>Mobil:</b><br> <input name="Mobil2" type="text" value="" size = "20"  id="Mobil2">
<br>
<b>E-mail:</b><br> <input name="email2" type="text" value="" size = "20"  id="email2">

</form>
</tr>
</td>
</table>

Problem:

Jeg vil have at når man vælger noget i dropdown (firm) navn skal den skrive alle data i de forskellige
"<input name="XXXX".... "

Jeg ved jeg skal åbne en ny forbindelse til databasen.
og have en ny Sqlstr som skal være noget i retningen af "strSql = "SELECT * FROM contacts WHERE firm = "ET ELLER ANDET" problemet er hvordan pokker fortæller jeg den at den skal sammen ligene med det "valgte" i dropdown boxen? Og så smide alle dataerne ind på de rigtige <input&#8230;..>?????????+

på forhånd tak :-)
Avatar billede kovalt Nybegynder
28. oktober 2003 - 12:48 #1
altså er det du vil, at navngive de forskellige form-elementer så at du ændre navn hver gang der vælges et nyt firma.

i så fald er det noget i stil med

<input type="text" name="& objRec("dit_felt")&">

/Kovalt
Avatar billede Slettet bruger
28. oktober 2003 - 12:54 #2
"SELECT * FROM contacts WHERE firm = '" & request.form("dropdown") & "'" men det kræver at du også ændrer her
Strvar = "<option value=""" & rs("firm") & """>" & rs("firm") & "</option>"
Avatar billede composer Nybegynder
28. oktober 2003 - 13:10 #3
<%
'ADODB connection objektet
Set Conn = Server.CreateObject("ADODB.Connection")'
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("db1.mdb")
Conn.Open DSN

strSQL = "SELECT firm FROM contacts"
set rs = Conn.Execute(strSQL)
%>
<select name=dropdown size=1>

<%

Do While Not rs.EOF
  Strvar = "<option value=""" & rs("firm") & """>" & rs("firm") & "</option>"

  'Strvar = "<option value=" & ">" & rs("firm") & "</option>"
    Response.Write Strvar
    rs.MoveNext
Loop
%>

%>
</select>

<%
Conn.Close
Set Conn = Nothing
%>


<%
'ADODB connection objektet
Set Conn = Server.CreateObject("ADODB.Connection")'
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("db1.mdb")
Conn.Open DSN

StrSql ="SELECT * FROM contacts WHERE firm = '" & request.form("dropdown") & "'"
set rs = Conn.Execute(strSQL)




Do While Not rs.EOF

  response.Write  rs("firm")

      rs.MoveNext
Loop


%>
</select>
<%
Conn.Close
Set Conn = Nothing
%>

for det kan jeg sku ikke lige få til at virke!!!!
Avatar billede kovalt Nybegynder
28. oktober 2003 - 13:38 #4
<%
'ADODB connection objektet
Set Conn = Server.CreateObject("ADODB.Connection")'
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("db1.mdb")
Conn.Open DSN

strSQL = "SELECT firm FROM contacts WHERE WHERE firm = '" & request.form("dropdown") & "'"
set rs = Conn.Execute(strSQL)
%>
<select name=dropdown size=1>

<%

Do While Not rs.EOF
  Strvar = "<option value=""" & rs("firm") & """>" & rs("firm") & "</option>"

  'Strvar = "<option value=" & ">" & rs("firm") & "</option>"
    Response.Write Strvar
    rs.MoveNext
Loop
%>

%>
</select>

<%
Conn.Close
Set Conn = Nothing
%>


<%
'ADODB connection objektet
Set Conn = Server.CreateObject("ADODB.Connection")'
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("db1.mdb")
Conn.Open DSN

StrSql ="SELECT * FROM contacts WHERE firm = '" & request.form("dropdown") & "'"
set rs = Conn.Execute(strSQL)




Do While Not rs.EOF

  response.Write  rs("firm")

      rs.MoveNext
Loop


%>
</select>
<%
Conn.Close
Set Conn = Nothing
%>
Avatar billede composer Nybegynder
28. oktober 2003 - 13:51 #5
får en fejl:

"Fejltype:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][ODBC Microsoft Access-driver] Der er en syntaksfejl, fordi der mangler en operator. i forespørgselsudtrykket "WHERE firm = ''".
/hp.asp, line 32
"
line 31 = strSQL = " SELECT firm FROM contacts WHERE WHERE firm = '" & request.form("dropdown") & "'"
line 32 = set rs = Conn.Execute(strSQL)
Avatar billede composer Nybegynder
28. oktober 2003 - 13:54 #6
never mind WHERE WHERE *g*

men det ser mig sku lidt underligt ud 2 dropdown og en masse '''''' på siden.
Avatar billede composer Nybegynder
28. oktober 2003 - 14:01 #7
det var min fejl! hvade glem at fjerne den game dropdown :-)

kovalt:

jeg får ingen data ind i dropdown
Avatar billede cool_casper Nybegynder
28. oktober 2003 - 14:05 #8
guys i kan ikke gøre det der...
Det kræver en opdatering af siden. Enten skal du lave en "usynlig" iframe og så lave noget javascript der opdater siden i framen til f.eks. "getfirm.asp?id=x" for at kunne det. Ellers skal man hive ALT data ud af tabllen og så smide dem ind via javascript når der skiftes i dropdown.

Kræver lidt overblik at lave, men det kan lade sig gøre. Derudover skal det nævnes at den sidste metode kan være langsom da der er meget javascript der skal hentes...
Avatar billede composer Nybegynder
28. oktober 2003 - 14:08 #9
hvad forslår du så?
jeg er ikke intraceret i at benytte javas... kunne det laves på en smart måde med <form>? i såfald how :-)
Avatar billede cool_casper Nybegynder
28. oktober 2003 - 14:16 #10
Det kan ikke gøres uden brug er javascript...
Avatar billede composer Nybegynder
28. oktober 2003 - 21:49 #11
ok jeg gir mig! :-) hvordan med javascript?
Avatar billede composer Nybegynder
28. oktober 2003 - 21:50 #12
evt alternativer til dropdown forslag? skal kunne vise data i enkelt kollone man skal kunne vælge et element og bruge dette til at smide ind i en WHERE = ("element") :-)
Avatar billede composer Nybegynder
02. marts 2005 - 14:59 #13
tager spørgsmålet ud
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