Avatar billede mettecarsten Nybegynder
19. april 2004 - 11:38 Der er 10 kommentarer og
1 løsning

Hente værdi er til rullemenu

Hej eksperter

Jeg har en database med tabellen, dksprog, som skal have mulighed for at have værdien 1, 2 eller 3.

Jeg har lavet en rullemenu med 3 valg, som får værdierne 1, 2 og 3. Dette fungerer fint, men problemet opstår, når brugeren senere kommer ind og retter (udover rullemenuen er der også andre felter på siden). Hvis brugeren retter i et andet felt, men ikke foretager sig noget i rullemenuen, så får rullemenuen jo automatisk valg nr. 1. Dette er jo uheldigt, hvis brugeren tidligere har valgt at have valg nr. 2.

Kan det ikke laves sådan, at rullemenuens valg nr. 1 altid svarer til værdien i databasen, så værdien altid vil være den samme, hvis der ikke ændres i rullemenuen?

Evt. andre måder at gøre det på?

På forhånd tak.
Avatar billede fennec Nybegynder
19. april 2004 - 11:44 #1
<select name="rullemenu">
<% set rs = conn.execute("select rullemenuennr from DinTabel where.....") %>
  <option value="1" <% if not rs.eof then if cstr(rs("rullemenuennr")) = "1" then response.write "selected" %>>første
  <option value="2" <% if not rs.eof then if cstr(rs("rullemenuennr")) = "2" then response.write "selected" %>>anden
  <option value="3" <% if not rs.eof then if cstr(rs("rullemenuennr")) = "3" then response.write "selected" %>>tredje
</select>
Avatar billede mettecarsten Nybegynder
19. april 2004 - 12:07 #2
Hvis jeg indsætter følgende:

<% set rs = conn.execute("select rullemenuennr from dksprog where Id=1") %>
<option value="1" <% if not rs.eof then if cstr(rs("rullemenuennr")) = "1" then response.write "selected" %>>første
<option value="2" <% if not rs.eof then if cstr(rs("rullemenuennr")) = "2" then response.write "selected" %>>anden
<option value="3" <% if not rs.eof then if cstr(rs("rullemenuennr")) = "3" then response.write "selected" %>>første
</select>

så får jeg vist en rullemenu, men uden værdier. Derudover stopper siden også her, så efterfølgende felter samt send-knappen ikke vises?
Avatar billede fennec Nybegynder
19. april 2004 - 12:31 #3
Det kan godt drille lidt med manglende "end if". Den kan ikke altid finde ud af det, men dette burde virke:

<option value="1" <%
  if not rs.eof then
    if cstr(rs("rullemenuennr")) = "1" then
      response.write "selected"
    end if
  end if
%>>første
....
....
Avatar billede fennec Nybegynder
19. april 2004 - 12:40 #4
og feltet, hvor nummeret bliver gemt, hedder også rullemenuennr i dksprog??
Avatar billede mettecarsten Nybegynder
19. april 2004 - 13:39 #5
Tabellen hedder "data" og feltet, hvor nummeret bliver gemt, hedder "dksprog". Derfor skal jeg selvfølgelig ændre lidt i ovenstående, men resultatet bliver det samme, selv om jeg udskifter "rullemenuennr" med "dksprog" og "dksprog" med "data"?
Avatar billede fennec Nybegynder
19. april 2004 - 13:48 #6
prøv at se kildekoden i din browser. Der er sikkert en fejl kode nederst. Den kan bare ikke ses fordi den er i en <select></select> HTML kode.
Avatar billede mettecarsten Nybegynder
19. april 2004 - 14:00 #7
Helt rigtigt - ser således ud:

<select name="rullemenu">     
          <font face="Arial" size=2>
<p>Microsoft JET Database Engine</font> <font face="Arial" size=2>error '80040e37'</font>
<p>
<font face="Arial" size=2>The Microsoft Jet database engine cannot find the input table or query 'dksprog'.  Make sure it exists and that its name is spelled correctly.</font>
<p>
<font face="Arial" size=2>/hjemmesidekoncept/retsprog.asp</font><font face="Arial" size=2>, line 91</font>

Der er altså et felt, som hedder dksprog - et talfelt?
Avatar billede mettecarsten Nybegynder
19. april 2004 - 14:01 #8
Sidste linie kan nemt misforståes - jeg skriver bare, at jeg har tjekket, at der nu også findes et felt, som hedder dksprog - feltet er et talfelt
Avatar billede fennec Nybegynder
19. april 2004 - 14:22 #9
Det lader til at den ikke kan finde tabellen "dksprog". Du har sikkert overset en rettelse, så der står nok stadig "select ... from dksprog where ...." hvor det skulle være "select dksprog from data where ...."
Avatar billede mettecarsten Nybegynder
19. april 2004 - 14:23 #10
Problemet er blevet løst :-)

Jeg skulle bare:

Slette <% set rs = conn.execute("select rullemenuennr from dksprog where Id=1") %>, da jeg tidligere i dokumentet har kørt lignende samt ændre select navnet.

Mange tak for hjælpen - smid et svar, så jeg kan give point :-)
Avatar billede fennec Nybegynder
19. april 2004 - 14:32 #11
ok
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