Jag har en blogg och detta är koden för att ändra ett inlägg där 'taggarna' redan är satta. (taggar = kategorier) Jag har skapat följande exempel: Wow, tack så mkt.Vilka chekboxar är ikryssade? 
    
    
Jag skulle vilja få till det så att de "taggar" som är kopplade till just detta inlägg är ikryssade i checkboxarna.
Infon om vilka taggar som finns (och till vilket inlägg) har jag i en annan tabell som heter "tblTagPlace" och som är uppbyggd så här.
tId - pId - tagId
tId = Autonummer
pId = Id nummret för blogginlägget (siffra)
tagId = Id nummret för en specifik tagg (siffra)
------------------
När jag skriver ut taggarna till blogginlägget så hämtar jag det ur tabellen "tblTagTitle" där varje tagId (som jag får från "tblTagPlace") går till en taggtitel som t.ex "nyhet", "bild" och "film".
------------------
Frågan är hur jag kan hämta info från "tblTagPlace" och använda det för att kryssa i de checkboxar (taggar) som är knytna till blogginlägget.
Kod för att skriva ut checkboxarna
	strSQL = "SELECT tagId,tagTitle FROM tblTagTitle"
	Set RS = objConn.Execute(strSQL)
IF Not RS.EOF THEN
	arrRows = RS.GetRows()
ELSE
	rsFindingsTaggar = "No"
END IF
	RS.Close : Set RS = Nothing
Response.Write "<b>Taggar</b>"
Response.Write "<table border='0' cellpadding='0' width='100%' cellspacing='0' class='adminTools'>"
tagCol = 0
IF NOT rsFindingsTaggar = "No" THEN
totRecords = Ubound(arrRows,2)
For iTagg = 0 to totRecords
	tagId = arrRows(0,iTagg)
	tagTitle = arrRows(1,iTagg)
IF tagCol = 0 THEN
Response.Write "<tr>"
END IF
' här måste jag väl köra nån sorts loop och en if sats antar jag.. men jag får det inte att funka.
Response.Write "<td><input type='checkbox' name='tagId' value='" & tagId & "'>" & tagTitle & "</td>"
tagCol = tagCol + 1
IF tagCol = 5 THEN
tagCol = 0
Response.Write "</tr>"
END IF
Next
Erase arrRows
IF tagCol > 0 THEN
Response.Write "</tr>"
END IF
Response.Write "</table>"
ELSE
'Visa inga
END IF
Kod som jag har för att få ut rätt info ut "tblTagPlace". Denns kod ligger just ovanför.
	Set RS = objConn.Execute(strSQL)
IF Not RS.EOF THEN
	arrRows = RS.GetRows()
ELSE
	rsFindingsTaggar = "No"
END IF
	RS.Close : Set RS = Nothing
IF NOT rsFindingsTaggar = "No" THEN
totRecords = Ubound(arrRows,2)
For iTagg = 0 to totRecords
	pId = arrRows(0,iTagg)
	tagId = arrRows(1,iTagg) & ", " & tagId
Next
Erase arrRows
END IF
	arrTagId = Split(tagId, ", ")
Nån som har en idé och/eller en lösning på mitt dilemma?
Kanske JOINA de två tabellerna?
Tack
    Sv: Vilka chekboxar är ikryssade? 
    
    
<%@language="VBScript" %>
<!-- METADATA
	TYPE="TypeLib"
	NAME="Microsoft ActiveX Data Objects 2.6 Library"
	UUID="{00000206-0000-0010-8000-00AA006D2EA4}"
	VERSION="2.6" -->
<%Option Explicit%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
    <title>Checkboxes</title>
</head>
<body>
<%
Function Checked(Value)
	If Value Then
		Checked = "checked=""checked"""
	Else
		Checked = ""
	End If
End Function
Sub WriteTags(Recordset, TagId, TagTitle, TagChecked)
Dim tagCol
	Response.Write "<b>Taggar</b>"
	Response.Write "<table border=""0"" cellpadding=""0"" width=""100%"" cellspacing=""0"" class=""adminTools"">"
	Response.Write "<tr>"
	Do Until Recordset.EOF
		If tagCol = 5 Then
			tagCol = 0
			Response.Write "</tr><tr>"
		Else
			tagCol = tagCol + 1		
		End If
		Response.Write "<td>" + _
			               "<label>" + _
				               "<input type=""checkbox"" name=""tagId"" value=""" & TagId & """ " & Checked(TagChecked) & " />" & _
				               Server.HTMLEncode(TagTitle) & _
			               "</label>" + _
		               "</td>"
		Recordset.MoveNext
	Loop
	Response.Write "</tr>"
	Response.Write "</table>"
End Sub
Dim objRs
Dim objCmd
Dim objConn
	
	Set objConn = CreateObject("ADODB.Connection")
	objConn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" + _
		         "Data Source=" & Server.MapPath("blogg.mdb") & ";" 
	
	Set objCmd = CreateObject("ADODB.Command")
	Set objCmd.ActiveConnection = objConn
	objCmd.CommandText = "SELECT tblTagTitle.tagId, tblTagTitle.tagTitle, (tblTagPlace.pId IS NOT NULL) AS tagChecked" + vbCrLf + _
	                     "FROM tblTagTitle LEFT JOIN " + _
		                     "tblTagPlace ON ((tblTagTitle.tagId = tblTagPlace.tagId) AND (tblTagPlace.pId = @pId))"
	objCmd.Parameters.Append(objCmd.CreateParameter("@pId",adInteger,adParamInput,,CLng(Request.QueryString("pid"))))
	Set objRs = CreateObject("ADODB.Recordset")
	objRs.Open objCmd
	
	WriteTags objRs, objRs("tagId"), objRs("tagTitle"), objRs("tagChecked")	
	
	objRs.Close
	
	objConn.Close 
	
%>
</body>
</html>
Din visar hur du gör en sådan Join du efterfrågar. 
Jag har valt att använda en paramterfråga, vilket är ett bra skydd mot SQL inject.
Metadata tagen i näst överst på sidan ger mig tillgång till ADO's konstanter, så som adInteger och adParamInput.
Jag tycker personligen att det är hemskt fult att använda arrayer. Jag föredrar loop. JAg tror desutom skillnaden är minimal.
Jag har strukturerat koden i subrutiner. Jag tycker det ger en bättre överblick och möjlighet att underhålla. Man ser tydlig var ett block börjar och slutar.
Subrutinen WriteTags(Recordset, TagId, TagTitle, TagChecked) är oxå återanvändbar. T.ex. om du skapar ett nytt inlägg och då vill du kanske lista tagarna med kryssrutor:
    strSQL = "SELECT tagId,tagTitle FROM tblTagTitle ORDER BY tagTitle"
    Set RS = objConn.Execute(strSQL)
    WriteTags RS, RS("tagId"), RS("tagTitle), False
    RS.Close
Du är välkommen att använda denna kod.
    Sv:Vilka chekboxar är ikryssade? 
    
    
Har just suttit och lagt in koden på min sida och det funkar hur bra som hellst :)
Jag brukar aldrig använda mig av sub´s, men jag funderar på att börja nu, det känns otroligt mkt smidigare så här.
tack för hjälpen!
om du vill se hur det blev på sidan så släng iväg ett mail till kim@weine.se så ska du få en länk.
Sidan är inte släppt ännu så....
tack
//Kim