Hej. Har jag försöker göra en grej på sidan med kryssrutor min kod ser ut så här. Jag tror detta är lösningen du söker:Problem med ifsatser/forumulär
Kod:
<%
set RS1= server.createobject("adodb.recordset")
set RST= server.createobject("adodb.recordset")
'Här hämtar vi alla intressen som finns
SQL="SELECT id, title FROM sidor ORDER BY title"
RS1.open SQL, objconn, 2, 2
if NOT RS1.EOF THEN
DO WHILE NOT RS1.EOF
sInterest=RS1("title")
'Här kolla vi om medlemen har detta intresse
set RS2= server.createobject("adodb.recordset")
SQL2="SELECT userid, sidid FROM usersidor WHERE userid ="& Request.QueryString("edit") & " AND sidid =" & RS1("ID")
RS2.open SQL2, objconn, 2, 2
if NOT RS2.EOF THEN
'Om medlemmen har detta intresse, så checkar vi checkboxen
%>
<input type="checkbox" name="Interest" value="<%=RS1("ID")%>" checked> <%=sInterest%><BR>
<%
ELSE
'annars inte
%>
<input type="checkbox" name="Interest" value="<%=RS1("ID")%>"> <%=sInterest%>
<BR>
<%
END IF
RS1.MOVENEXT
LOOP
END IF
'Städar upp efter oss
RS1.CLOSE
set RS1=Nothing
RS2.CLOSE
set RS2=Nothing
%>
Det jag vill göra är att om session("lvl") <3 så ska han visa alla poster från usersidor där userid är = session("user")
Så långt funkar det. Men vad jag också vill göra samtidigt är att om request.querystring("edit") finns med i userid så ska den kryssa i rutan om inte så ska rutan vara tom. MEN rutorna som visas ska bara vara dem som är lika med session("user")
Hur ska man göra detta?Sv: Problem med ifsatser/forumulär
<%
Function SQLNumber(Value)
If IsNumeric(Value) Then
SQLNumber = CStr(CDbl(Value))
Else
SQLNumber = "Null"
End If
End Function
Dim UserId
Dim RequestedUserId
Dim strSQL
Dim strName
Dim fldId
Dim fldTitle
Dim fldUserId
Dim rsSidor
Const adOpenForwardOnly = 0
Const adLockReadOnly = 1
UserId = session("user")
If IsEmpty(UserId) Then
Respose.write "Du måste logga in!"
Else
If Session("lvl") < 3 Then
RequestedUserId = Request.QueryString("edit")
If Not IsEmpty(RequestedUserId) Then
UserId = RequestedUserId
End If
End If
'Här hämtar vi alla intressen som finns
Set rsSidor= Server.CreateObject("ADODB.Recordset")
strSQL = "SELECT Sidor.id, Sidor.title, UserSidor.UserId" & vbCrLF & _
"FROM Sidor LEFT JOIN UserSidor ON ((Sidor.Id = UserSidor.sidid) AND (UserSidor.userid=" & SQLNumber(UserId) & "))" & vbCrLF & _
"ORDER BY title"
rsSidor.Open strSQL, objconn, adOpenForwardOnly, adLockReadOnly
If Not rsSidor.EOF Then
Set fldId = rsSidor("id")
Set fldTitle = rsSidor("title")
Set fldUserId = rsSidor("userid")
Do Until rsSidor.EOF
strName = "Interest" & fldId.Value
'Här kolla vi om medlemen har detta intresse
If IsNumeric(fldUserId.Value) Then
'Om medlemmen har detta intresse, så checkar vi checkboxen
Response.Write "<INPUT type=""checkbox"" name=""Interest"" id=""" & strName & """ value=""" & fldId.Value & """ checked><LABEL for=""" & strName & """> " & Server.HTMLEncode(fldTitle.Value) & "</LABEL><BR />"
Else
'annars inte
Response.Write "<INPUT type=""checkbox"" name=""Interest"" id=""" & strName & """ value=""" & fldId.Value & """><LABEL for=""" & strName & """> " & Server.HTMLEncode(fldTitle.Value) & "</LABEL><BR />"
End If
rsSidor.MOVENEXT
Loop
'Städar upp efter oss
Set fldId = Nothing
Set fldTitle = Nothing
Set fldUserId = Nothing
End If
'Städar upp efter oss
rsSidor.CLOSE
Set rsSidor=Nothing
End If
%>
Har snyggat till och optimerat din kod.