Har lite krångel ifall någon har tid o lust att hjälpa mig.
Jag har ett formulär med en massa checkboxar som loopas från en tabell osv. Allt detta verkar funka. När jag skickar infon så får jag med alla värden som det skall (se fetstil i koden var jag stoppade).
Ifall värdet "on" står så kolla ifall den redan finns i databasen, gör den det så skit i det annars lägg till....
Ifall värdet "off" står så kolla också ifall den redan finns, gör den det så ta bort annars skit i det.
Det är bara det att sidan genereras och jag skickas tillbaka men inget händer, det läggs inte till eller tas bort. :(
Såhär kan det se ut ifall jag bara klicka i den mittesta kryssrutan.
först kommer namnet, jag har sedan själv lagt till streken emellan för att se lättare, sedan kommer ID-numret, är noll om den inte fanns förut. och on ifall jag kryssa i checkboxen innan annars blir det off.
Hej o Hå - 0 - off
Ännu en fin grupp - 0 - on
Sista gruppen - 0 - off
Och här kommer koden
<!--#include file="library/metatag.asp" -->
<!--#include file="library/onsite.asp" -->
<%
Dim newsID, strSchool, strWebbShow, strSchoolShow, strGroup, xBoxar, x, objConnect, objRS, objRSgroup, SQL, i
Set objConnect = Server.CreateObject("ADODB.Connection")
Set objRS = Server.CreateObject("ADODB.Recordset")
Set objRSgroup = Server.CreateObject("ADODB.Recordset")
newsID = Request.Form("frmID")
strSchool = Request.Form("frmSchool")
strWebbShow = Request.Form("frmWebbShow")
strSchoolShow = Request.Form("frmSchoolShow")
strGroup = Request.Form("frmGroup")
xBoxar = split(strGroup,",")
'// Recordset med gruppnamn
objRSgroup.Fields.Append "groupName", adChar, 100
objRSgroup.Fields.Append "groupID", adChar, 50
objRSgroup.Fields.Append "groupShow", adChar, 10
objRSgroup.Open
For x = 0 To UBound(xBoxar)
objRSgroup.AddNew
objRSgroup("groupName") = Trim(xBoxar(x))
objRSgroup.Update
Next
If Not objRSgroup.BOF Then objRSgroup.MoveFirst
i = 1
Dim strTemp
For x = 0 To UBound(xBoxar)
strTemp = Request.Form("frmGroupShow"& i)
If i => 2 Then objRSgroup.MoveNext
If strTemp = "on" Then
objRSgroup("groupShow") = "on"
Else
objRSgroup("groupShow") = "off"
End If
objRSgroup.Update
i = i + 1
Next
If Not objRSgroup.BOF Then objRSgroup.MoveFirst
i = 1
For x = 0 To UBound(xBoxar)
strTemp = Request.Form("frmGroupID"& i)
If i => 2 Then objRSgroup.MoveNext
If strTemp <> 0 Then
objRSgroup("groupID") = strTemp
Else
objRSgroup("groupID") = "0"
End If
objRSgroup.Update
i = i + 1
Next
[b] If Not objRSgroup.BOF Then objRSgroup.MoveFirst
Do Until objRSgroup.EOF
Response.Write(objRSgroup("groupName") & " - " & objRSgroup("groupID") & " - " & objRSgroup("groupShow") & "<br>")
objRSgroup.MoveNext
Loop
Response.End()[/b]
'// Hämta infon från DB:n
SQL = "SELECT newsFront.newsFrontGroup FROM newsFront WHERE newsFront.newsID = "& newsID &";"
objConnect.Open "DSN=webportal"
objRS.Open SQL, objConnect
'// Loopa igenom alla och se till vad som skall göras
If Not objRSgroup.BOF Then objRSgroup.MoveFirst
Do Until objRSgroup.EOF
If Not objRS.BOF Then objRS.MoveFirst
If objRSgroup("groupShow") = "off" Then
'// låt va eller ta bort
If Not objRS.EOF Then
Do Until objRS.EOF
If Trim(objRSgroup("groupName")) = Trim(objRS("newsFrontGroup")) Then
objConnect.Execute("DELETE * FROM newsFront WHERE newsFront.newsID = "& newsID &";")
End If
objRS.MoveNext
Loop
End If
ElseIf objRSgroup("groupShow") = "on" Then
'// Kolla om den finns eller lägg till
If Not objRS.EOF Then
If Not Trim(objRSgroup("groupName")) = Trim(objRS("newsFrontGroup")) Then
objConnect.Execute("INSERT INTO newsFront (newsFront, newsID, newsFrontGroup) VALUES ('"& strSchool &"', "& newsID &", '"& objRSgroup("groupName") &"');")
End If
End If
End If
objRSgroup.MoveNext
Loop
objRS.Close
objRSgroup.Close
objConnect.Close
Set objRS = Nothing
Set objRSgroup = Nothing
Set objConnect = Nothing
Response.Redirect("edit_news_frontpage.asp?ID="& newsID &"&School="& strSchool)
%>