Avatar billede simsen Mester
28. december 2004 - 22:29 Der er 25 kommentarer og
1 løsning

Hente data fra database til dropdown

Hejsa alle

Først lige koden:

<%
OpenCon
call ChooseTableSort ("Kategori", "kategori asc")

    Response.Write "<table width=""90%"" border=""0"" align=""center"">"
Do until rs.eof
response.write rs("kategori")
response.write "<br>"
rs.movenext
loop
    Response.Write "<form method=""post"" action=""Soeg.asp"">"
    Response.Write "<tr>"
    Response.Write "<td>Vælg kategori:<br><select name=""side_id"" size=""1"">"
    Response.Write "<option selected value="""">Alle</option>"

    Do until rs.eof
        Response.Write "<option value="
        Response.Write rs("kategori")
        Response.Write "></option>"
        rs.movenext
    loop
       
    Response.Write "</select></td>"
    Response.Write "<td>Indtast søgeord:<br><input type=""text"" name=""search"" value="""" size=""30""></td>"
    Response.Write "<td>Fedtfattige opskrifter?<br><input type=""checkbox"" name=""fedtfattig"" value=""1""> Ja, kun fedtfattige.</td>"
    Response.Write "<td valign=""bottom""><input type=""submit"" value=""Søg""></td>"
    Response.Write "</tr>"
    Response.Write "</form>"
    Response.Write "</table>"

rs.Close
Set rs = Nothing
%>

Så mit problem:

Jeg vil så gerne have listet alt fra Kategori tabellen i en dropdown menu (kategori feltet er det eneste der er i tabellen)

Jeg har testet, om jeg får det korrekte ud i en response.write inden, og det gør jeg lige så flot - men forsøger jeg at få det ud i komboboksen får jeg kun "Alle" ud i boksen og intet andet - hvad er der galt i min kode?

Do until rs.eof
        Response.Write "<option value="
        Response.Write rs("kategori")
        Response.Write "></option>"
        rs.movenext
    loop

simsen :-)
Avatar billede cpufan Juniormester
28. december 2004 - 22:59 #1
du mangler vist bare en ...
end select
Avatar billede Jman Praktikant
28. december 2004 - 23:00 #2
Hvis du mener at det er fordi er ikke står noget i dropdownen, skal du lige have værdien med ...

Do until rs.eof
  Response.Write "<option value="""&rs("kategori")&""">"&rs("kategori")&"</option>"
  rs.movenext
loop
Avatar billede cpufan Juniormester
28. december 2004 - 23:00 #3
nej den ser jeg lige du har.
Avatar billede Jman Praktikant
28. december 2004 - 23:01 #4
eller som du har lavet den:
Do until rs.eof
        Response.Write "<option value="
        Response.Write rs("kategori")
        Response.Write ">"&rs("kategori")&"</option>"
        rs.movenext
    loop
Avatar billede cpufan Juniormester
28. december 2004 - 23:02 #5
Do until rs.eof
%>     
<option value="<%= rs("kategori")%>"><%=rs("kategori")%></option>"
<%
rs.movenext
    loop
Avatar billede Jman Praktikant
28. december 2004 - 23:04 #6
cpufan: så vidt koden vises, er det vel meningen ikke at "bryde ud" af koden :o)
Avatar billede simsen Mester
28. december 2004 - 23:13 #7
<%
OpenCon
call ChooseTableSort ("Kategori", "kategori asc")

    Response.Write "<table width=""90%"" border=""0"" align=""center"">"
Do until rs.eof
response.write rs("kategori")
response.write "<br>"
rs.movenext
loop
    Response.Write "<form method=""post"" action=""Soeg.asp"">"
    Response.Write "<tr>"
    Response.Write "<td>Vælg kategori:<br><select name=""side_id"" size=""1"">"
    'Response.Write "<option selected value="""">Alle</option>"

'    Do until rs.eof
'        Response.Write "<option value="
'        Response.Write rs("kategori")
'        Response.Write ">"&rs("kategori")&"</option>"
'        rs.movenext
'    loop

'Do until rs.eof
'  Response.Write "<option value="""&rs("kategori")&""">"&rs("kategori")&"</option>"
'  rs.movenext
'loop

Do until rs.eof
%>     
<option value="<%= rs("kategori")%>"><%=rs("kategori")%></option>"
<%
rs.movenext
    loop
       
    Response.Write "</select></td>"
    Response.Write "<td>Indtast søgeord:<br><input type=""text"" name=""search"" value="""" size=""30""></td>"
    Response.Write "<td>Fedtfattige opskrifter?<br><input type=""checkbox"" name=""fedtfattig"" value=""1""> Ja, kun fedtfattige.</td>"
    Response.Write "<td valign=""bottom""><input type=""submit"" value=""Søg""></td>"
    Response.Write "</tr>"
    Response.Write "</form>"
    Response.Write "</table>"

rs.Close
Set rs = Nothing
%>

Som I kan se af ovennævnte kode - har jeg prøvet det hele I har foreslået - men det virker bare ikke.

Jeg er dødhamrende sikker på, jeg har den korrekte Tabel (Kategori) og kolonne (kategori) med ud - da jeg med denne her kode først prøver at skrive det ud (og det lykkes - jeg får alle kategorier listet):

Do until rs.eof
response.write rs("kategori")
response.write "<br>"
rs.movenext
loop

Fjerner jeg nedenævnte kode, får jeg ikke engang Alle til at stå i dropdown menuen - den kommer bare med en tom lang liste.

'Response.Write "<option selected value="""">Alle</option>"
Avatar billede cpufan Juniormester
28. december 2004 - 23:16 #8
så er det nok din
set rs =
det er galt med
Avatar billede cpufan Juniormester
28. december 2004 - 23:18 #9
ne j vrøvl fra mig igen, læste lige det sidste du skrev
Avatar billede Jman Praktikant
28. december 2004 - 23:24 #10
Nu kender jeg ikke din felt type.. men du kan:
1. lav "Vis kilde" og se om de er medtaget i value
2. prøve at lave følgende:
Do until rs.eof
StrKategori = rs("kategori")
%>     
<option value="<%= StrKategori %>"><%= StrKategori %></option>"
<%
rs.movenext
    loop
Avatar billede cpufan Juniormester
28. december 2004 - 23:28 #11
du kan også prøve at lave loopet udenfor tabellen og formen,
det er nogengange det fucker op hos mig, uden at jeg kan se fejl.
Avatar billede simsen Mester
28. december 2004 - 23:34 #12
Hejsa superior

Ad 1: De er ikke medtaget i value - der står faktisk slet ikke noget i option value - udover Alle som jeg skriver inden loopet. (den første kategori loop som bliver vist - kan du også se her) Vis kilde kode:


<BODY class="fontnormal">
<table width="90%" border="0" align="center">Alle<br>Bagværk<br>Børnemad<br>Desserter<br>Diverse<br>Fisk<br>Fjerkræ<br>Forretter<br>Gril<br>Hovedretter<br>Pasta<br>Sauce og dressing<br>Supper<br>Vegetarmad<br><form name=form method="post" action="Soeg.asp"><tr><td>Vælg kategori:<br><select name="kategori" size="1"><option selected value="">Alle</option></select></td><td>Indtast søgeord:<br><input type="text" name="search" value="" size="30"></td><td>Fedtfattige opskrifter?<br><input type="checkbox" name="fedtfattig" value="1"> Ja, kun fedtfattige.</td><td valign="bottom"><input type="submit" value="Søg"></td></tr></form></table>

2 Prøvede denne også - men den virkede heller ikke.

Min database er en Access 2000 database - jeg har en tabel, der hedder Kategori og et feltnavn i den tabel jeg kalder kategori som er et tekstfelt
Avatar billede Jman Praktikant
28. december 2004 - 23:38 #13
jeg tror måske det er fordi du lopper det samme kald flere gange...
så har du jo løber recordset'et igennem..
Avatar billede simsen Mester
28. december 2004 - 23:40 #14
cpufan

Du har fat i noget af det rigtige - for gør jeg som nedennævnt:

    Do until rs.eof
    Response.Write "<form name=form method=""post"" action=""Soeg.asp"">"
    Response.Write "<tr>"
    Response.Write "<td>Vælg kategori:<br><select name=""kategori"" size=""1"">"
    Response.Write "<option selected value="""">Alle</option>"


        Response.Write "<option value="
        Response.Write rs("kategori")
        Response.Write ">"&rs("kategori")&"</option>"
        rs.movenext
    loop

       
    Response.Write "</select></td>"

Får jeg faktisk alle ud nu.........bare med ligeså mange dropdown bokse som der er felter - så hvordan får jeg dem alle til at være i én drop down boks - når jeg skal lave loopet udenfor formen?
Avatar billede simsen Mester
28. december 2004 - 23:41 #15
superior

Nej - for den tanke har jeg også haft og prøvet at slette den igen (jeg tog den faktisk bare på, for at teste, jeg havde fat i den rigtige tabel/felt) - cpufan er inde på noget af det rigtige.......tror jeg ihvertfald *SS*
Avatar billede Jman Praktikant
28. december 2004 - 23:43 #16
Jeg har prøvet at rem'e dem ud, jeg ikke kan se skal bruges.. prøv:

<%
OpenCon
call ChooseTableSort ("Kategori", "kategori asc")

    Response.Write "<table width=""90%"" border=""0"" align=""center"">"
'Do until rs.eof
'response.write rs("kategori")
'response.write "<br>"
'rs.movenext
'loop
    Response.Write "<form method=""post"" action=""Soeg.asp"">"
    Response.Write "<tr>"
    Response.Write "<td>Vælg kategori:<br><select name=""side_id"" size=""1"">"
    Response.Write "<option selected value="""">Alle</option>"

'    Do until rs.eof
'        Response.Write "<option value="
'        Response.Write rs("kategori")
'        Response.Write ">"&rs("kategori")&"</option>"
'        rs.movenext
'    loop

Do until rs.eof
StrKategori = rs("kategori")
  Response.Write "<option value="""&StrKategori&""">"&StrKategori&"</option>"
  rs.movenext
loop

'Do until rs.eof
%>     
<!-- <option value="<%= rs("kategori")%>"><%=rs("kategori")%></option>" -->
<%
'rs.movenext
'    loop
       
    Response.Write "</select></td>"
    Response.Write "<td>Indtast søgeord:<br><input type=""text"" name=""search"" value="""" size=""30""></td>"
    Response.Write "<td>Fedtfattige opskrifter?<br><input type=""checkbox"" name=""fedtfattig"" value=""1""> Ja, kun fedtfattige.</td>"
    Response.Write "<td valign=""bottom""><input type=""submit"" value=""Søg""></td>"
    Response.Write "</tr>"
    Response.Write "</form>"
    Response.Write "</table>"

rs.Close
Set rs = Nothing
%>
Avatar billede simsen Mester
28. december 2004 - 23:46 #17
cpu

Har fået det til at lykkes - du gav mig ideen - så smid et svar og du får points - jeg har bare afsluttet og påbegyndt asp kode inden og efter som her:

%>
<%
    Do until rs.eof    
        Response.Write "<option value="
        Response.Write rs("kategori")
        Response.Write ">"&rs("kategori")&"</option>"
        rs.movenext
    loop
%>
<%
Avatar billede Jman Praktikant
28. december 2004 - 23:48 #18
*lol* - nøjagtig det samme som i min kommentar 23:01  c",)
Avatar billede cpufan Juniormester
28. december 2004 - 23:49 #19
ja det er også sådan jeg plejer at gøre med den slags :-)
Avatar billede simsen Mester
28. december 2004 - 23:51 #20
superior

Njaaaaaa - såvidt jeg kan se, så var det jo netop sådan du ikke ville bryde ud af koden - men det er det der skal til - altså at jeg laver de dersens %><% før og efter *SS* Men takker dig for dit kæmpe arbejde med at forsøge, at få mig til at forstå, hvad der sker *SS*
Avatar billede simsen Mester
28. december 2004 - 23:53 #21
cpufan

Synes bare det er mystisk at det er nødvendigt - for der sker jo ikke noget imellem %><% - men sådan er kodning jo nu engang imellem :-)
Avatar billede Jman Praktikant
28. december 2004 - 23:54 #22
no prob.. bare du får en brugbar løsning..
Avatar billede Jman Praktikant
28. december 2004 - 23:55 #23
hvordan ser din kode ud nu ?
(just curious)
Avatar billede cpufan Juniormester
29. december 2004 - 00:03 #24
har ofte været udsat for at html-forme fucker up og ikke vil samarbejde med asp, specielt i sådanne tilfælde, men hvis man skriver det i ren html, og så blot sætter en <%=rs("etellerandet"%> plejer det at gå glat.
Jeg har førhen også været tilhænger at at holde det i ren asp med response.write,
men ovenpå episoder som disse - er jeg sgu nærmest blevet modsat.
Avatar billede simsen Mester
29. december 2004 - 00:07 #25
superior

den er som følger:

<%
OpenCon
call ChooseTableSort ("Kategori", "kategori asc")

    Response.Write "<table width=""90%"" border=""0"" align=""center"">"

    Response.Write "<form name=form method=""post"" action=""Soeg.asp"">"
    Response.Write "<tr>"
    Response.Write "<td>Vælg kategori:<br><select name=""kategori"" size=""1"">"
    'Response.Write "<option selected value="""">Alle</option>"
%>
<%
    Do until rs.eof    
        Response.Write "<option value="
        Response.Write rs("kategori")
        Response.Write ">"&rs("kategori")&"</option>"
        rs.movenext
    loop
%>
<%
   
    Response.Write "</select></td>"
    Response.Write "<td>Indtast søgeord:<br><input type=""text"" name=""search"" value="""" size=""30""></td>"
    Response.Write "<td>Fedtfattige opskrifter?<br><input type=""checkbox"" name=""fedtfattig"" value=""1""> Ja, kun fedtfattige.</td>"
    Response.Write "<td valign=""bottom""><input type=""submit"" value=""Søg""></td>"
    Response.Write "</tr>"
    Response.Write "</form>"
    Response.Write "</table>"

rs.Close
Set rs = Nothing
%>

Og lige et ps - er altså ikke færdig med den endnu, som du kan se - så kan være du kommer til at tjene maaaaaange points fra mig ;-)
Avatar billede Jman Praktikant
29. december 2004 - 00:14 #26
Har lige prøvet den af hos mig... Den virker fint med nedenstående  ... c",)
<%
OpenCon
call ChooseTableSort ("Kategori", "kategori asc")

    Response.Write "<table width=""90%"" border=""0"" align=""center"">"

    Response.Write "<form name=""form"" method=""post"" action=""Soeg.asp"">"
    Response.Write "<tr>"
    Response.Write "<td>Vælg kategori:<br><select name=""kategori"" size=""1"">"
    Do until rs.eof   
        Response.Write "<option value="&rs("kategori")&">"&rs("kategori")&"</option>"
    rs.movenext
    loop
    Response.Write "</select>"
    Response.Write "</td>"
    Response.Write "<td>Indtast søgeord:<br><input type=""text"" name=""search"" value="""" size=""30""></td>"
    Response.Write "<td>Fedtfattige opskrifter?<br><input type=""checkbox"" name=""fedtfattig"" value=""1""> Ja, kun fedtfattige.</td>"
    Response.Write "<td valign=""bottom""><input type=""submit"" value=""Søg""></td>"
    Response.Write "</tr>"
    Response.Write "</form>"
    Response.Write "</table>"

rs.Close
Set rs = Nothing
%>
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