Avatar billede cardinale Nybegynder
13. februar 2003 - 00:23 Der er 13 kommentarer og
1 løsning

dropdown selected

Hvad er galt i nedenstående kode? Jeg får en Microsoft VBScript compilation error '800a03ea'

Syntax error

<%
strSQL = "SELECT fotograf FROM dropdown ORDER By id"
Set objRS = objconn.Execute(strSQL)

Do While Not objrs.EOF
If NOT objrs("fotograf")="" OR objrs("fotograf")=NULL Then
Response.Write "<option value=" & objrs("fotograf") & " & if objrs('fotograf')=" & objrs("fotograf") & " then response.write 'selected' & ">" & objrs('fotograf') & "</option>"
else
end if
objrs.MoveNext
loop
%>
Avatar billede medions Nybegynder
13. februar 2003 - 00:28 #1
<%@ Language=VBScript %>
<HTML>
<HEAD>
<META NAME="GENERATOR" Content="Microsoft Visual Studio 6.0">
</HEAD>
<BODY>

<%
strSQL = "SELECT fotograf FROM dropdown ORDER By id"
Set objRS = objconn.Execute(strSQL)

Do While Not objrs.EOF
If NOT objrs("fotograf")="" OR objrs("fotograf")=NULL Then
%>
<option value=" <%= objrs("fotograf")%>" <% If objrs("fotograf") = objrs("fotograf") Then Response.Write("selected")%>><%= objRs("fotograf") %></option>
<%
else
end if
objrs.MoveNext
loop
%>

</BODY>
</HTML>

//>Rune
Avatar billede cardinale Nybegynder
13. februar 2003 - 00:33 #2
hey rune

Meningen er at den skal finde den værdi i db og skrive selected ud for den. Min kode er måske lidt fucked - den selecter altid den sidste...

Kan du rode trådene ud?
Avatar billede angam Nybegynder
13. februar 2003 - 01:11 #3
Prøv denne her. Den er utestet!
I linie 3 lægger jeg værdien af din dropdown-box ind i variablen Fotograf - jeg går ud fra at din dropdown-box hedder "fotograf" - men check det lige inden du prøver ;-)

<%
strSQL = "SELECT fotograf FROM dropdown ORDER By id"
Set objRS = objconn.Execute(strSQL)
Fotograf = Request("fotograf")

Do While Not objrs.EOF
  If (NOT objRs("fotograf")="") OR (objRs("fotograf")=NULL) Then
    Response.Write("<option value="""& objRs("fotograf") &""")
    If objRs("fotograf")=Fotograf Then Response.Write(" selected")
    Response.Write(">"& objRs("fotograf") &"</option>")
  End If
  objRs.MoveNext
loop
%>
Avatar billede angam Nybegynder
13. februar 2003 - 01:17 #4
> Meningen er at den skal finde den værdi i db og skrive selected
> ud for den. Min kode er måske lidt fucked - den selecter altid
> den sidste...

Ja - det gør den fordi du sammenligner objRs("fotograf") med objRs("fotograf") ... altså med sig selv - og de er jo ens hele tiden! Dermed kommer der til at stå SELECTED ved samtlige options.

Jeg har ændret koden, så den læser værdien fra dropdown-boksen - men jeg kan ikke helt regne ud hvilken der skal være selected ellers.
Du skriver at den fra databasen skal være selected - men ALLE options er jo i databasen!
Avatar billede cardinale Nybegynder
13. februar 2003 - 01:23 #5
Hmm det kan jeg overhovedet ikke få til at virke.

Jeg har en side - retinfo.asp - som henter data fra db. Disse data skal smides ind de rigtige steder og med textboxe er det let nok.

Ved dropdowns driller det mere - jeg vil som sagt have selected den værdi som er i db i en tabel kaldet diasliste- skal lige siges at alle options i dropdown kommer fra db også - fra tabellen dropdown.

Hjælper det ??
Avatar billede cardinale Nybegynder
13. februar 2003 - 01:24 #6
angam er du på irc eller messenger?
Avatar billede angam Nybegynder
13. februar 2003 - 01:28 #7
Nope - er kun på icq.

Men løsningen burde nu ikke være så langt væk - alt du skal gøre er at lægge den værdi der skal være SELECTED ind i variablen Fotograf. Du siger at den selectede fotograf ligger i en anden tabel?

Når du siger du ikke får det til at virke overhovedet, er det så fordi der er fejl i koden? (fejlbeskedder?) - I så fald så post dem lige her. Jeg har meget ringe mulighed for at teste koden her.
Avatar billede cardinale Nybegynder
13. februar 2003 - 01:29 #8
Er kommet frem til følgende men den selcter ikke noget:

<%
strSQL = "SELECT fotograf FROM diasliste where id = " & identifikation
Set RS = objconn.Execute(strSQL)
strSQL = "SELECT fotograf FROM dropdown ORDER By id"
Set objRS = objconn.Execute(strSQL)
Do While Not objrs.EOF
If NOT objrs("fotograf")="" OR objrs("fotograf")=NULL Then
%>
<option value=" <%= objrs("fotograf")%>" <% If rs("fotograf") = objrs("fotograf") Then     response.Write("selected")%>><%= objRs("fotograf") %></option>
<%
else
end if
objrs.MoveNext
loop
%>
Avatar billede cardinale Nybegynder
13. februar 2003 - 01:31 #9
tabellen dropdown indeholder alle værdier til dropdowns.
tabellen diasliste indeholder alle data der skal rettes.

data fra dropdown læses ind i dropdowns - logisk nok - og data fra diasliste læses ind i textboxe som er på siden og skal bruges til at selecte i dropdowns .
Avatar billede cardinale Nybegynder
13. februar 2003 - 01:32 #10
identifikation er unikt id på den post der skal rettes.
Avatar billede angam Nybegynder
13. februar 2003 - 01:35 #11
Jeg tror den er der nu:

<%
strSQL = "SELECT fotograf FROM diasliste where id = " & identifikation
Set RS = objconn.Execute(strSQL)
fotograf = "Ingen"
If(Not RS.EOF) Then fotograf = RS("fotograf")
' Nu er fotograf navnet på fotografen - eller "ingen" hvis
' den ikke blev findet i databasen af en eller anden grund.

strSQL = "SELECT fotograf FROM dropdown ORDER By id"
Set objRS = objconn.Execute(strSQL)

Do While Not objrs.EOF
  If (Not objRs("fotograf")="") OR (objRs("fotograf")=NULL) Then
    foto = objRs("fotograf")
    out = "<option value="""& foto &""""
    If foto=fotograf Then out=out &" SELECTED"
    out=out &">"& foto &"</option>"
    Response.Write(out)
  End if
  objRs.MoveNext
Loop
%>
Avatar billede cardinale Nybegynder
13. februar 2003 - 01:35 #12
Sorry koden jeg postede - virker!

Du får point for at have forsøgt!
Avatar billede angam Nybegynder
13. februar 2003 - 01:38 #13
lol - takker :-)
Godt det lykkedes alligevel - var ved at blive (mere) gråhåret...
Avatar billede alphine Nybegynder
13. februar 2003 - 02:27 #14
hehe
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