webForumDet fria alternativet

dropdownmeny - hämta värde samt uppdatera

ASP

3 svar · 316 visningar · startad av Skogiz

Medlem sedan feb. 200395 inlägg
Frågan#1

Hej på er!

Sitter och bygger ett supportformulär där användare ska kunna anmäla div. fel.

Jag har ett fält i db som heter "status" (textfält) som default sätts till "ej påbörjat" vid varje ny registrering.

När jag sedan på en adminsida öppnar supportfallen vill jag att det ska finnas en dropdownmeny där det står vilken status aktuellt supportfall har (ej påböjat, påbörjat och slutfört).

Jag vill alltså att scriptet läser av från db vilken status samt att man ska kunna uppdatera det genom att bara ändra i dropdownmenyn.

Hoppas jag förklarat mitt önskemål.

Hur bör koden för detta se ut?
Man kanske skulle ha en egen tabell i db för de olika statusarna?

Tack på förhand

/Fredrik

Medlem sedan dec. 20003 887 inlägg
#2

Hej på dig :)

En egen tabell för status är ju att föredra. Koden jag plitat ner här nedanför kan du se som ett exempel eller en mall om du vill. Min tanke är att sidan som hanterar det du vill innehåller något liknande. Och som vanligt lägger jag in min brasklapp: jag vet ej om detta fungerar, eftersom jag inte kan testa det...

Jag är väldigt osäker på om Request.Form("frmSelect") verkligen returnerar det värde jag vill, men sånt brukar visa sig efter lite testning ;)

Som sagt, det här är skrivet rätt upp och ner utan tester, så det är bara att kontrollera om det gör något så när av vad du vill.

If Request.QueryString("method") = "update" Then
  strSQL =  "UPDATE db SET statusID = " & Request.Form("frmSelect") & " WHERE supportfallID = " & Request.QueryString("supportfallID")
  [i]connection[/i].Execute strSQL, , 128

  Response.Redirect "sidan.asp?supportfallID=" & Request.QueryString("supportfallID")
End If

If Request.QueryString("method") = "" Then
  strSQL = "SELECT statusID FROM db WHERE supportfallID = " & Request.QueryString("supportfallID")
  Set rsStatus = [i]connection[/i].Execute(strSQL, , 1)

  strSQL = "SELECT statusTyp, statusID FROM tblStatus"
  Set rsStatusTyp = [i]connection[/i].Execute(strSQL, , 1)

  strHTML = "<form name=""frmStatus"" method=""post"" action=""sidan.asp?method=update&supportfallID=" & Request.QueryString("supportfallID") & """>" & _ 
    "<select name=""frmSelect"" onChange=""document.frmStatus.submit();"">"

  While Not rsStatusTyp.EOF
    If rsStatus("statusID") = rsStatusTyp("statusID") Then
      strMark = " selected"
    Else
      strMark = ""
    End If

    strHTML = strHTML & "<option value=" & rsStatusTyp("statusID") & strMark ">" & rsStatusTyp("statusTyp") & "</option"

    rsStatusTyp.MoveNext
  Wend

  strHTML = strHTML & "</select></form>"

  Response.Write strHTML
End If
Medlem sedan feb. 200395 inlägg
#3

Tack för hjälpen.

Det blev ganska bra det där :e

/Fredrik

Medlem sedan dec. 20003 887 inlägg
#4

Varsågod.

272 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
128 ms — deklarationer (db)
0 ms — hämta statistik (cache)
141 ms — hämta tråd, inlägg och bilagor (db)
125 ms — ändringar (db)