Welcome to WebmasterWorld Guest from 18.104.22.168
Forum Moderators: ocean10000
How do you display a list of checkboxes from a database, for 1 user, showing checked for those that the user selected and unchecked for all other available widgets.
Something like this?
SELECT widgets.Name,widgets.ID,iif(Selections.WidgetID is NULL,""," selected ")
<%=rs(0) + "<input type=checkbox name=" + rs(1) + " " + rs(2) + "><BR>"%>
I must have tried every combination of left, right, inner, outer join...Maybe theres a much easier way to get the same html output, Anyone know how to do this?
Because I couldnt figure out how to get the recordset returned with nulls.
Bit of a mission, but I have sorted it now with two recordsets and a find.
time for a break :)
strSQL="SELECT ID, Name FROM Widgets ORDER BY Name ASC"
strSQL2="SELECT WidgetID FROM Selections WHERE UserID=" & varID
objRS2.Open strSQL2,objConn, 1, 3
while not objRS.eof
Response.write "<input type=checkbox name='" & objRS(0) & "'"
objRS2.Find "WidgetID=" & objRS(0),,1,1 ' search foward from 1
if not objRS2.EOF then
Response.Write " checked "
Response.Write ">" & objRS(1) & "<BR>"
Now this worked very well for a while, but with larger and larger recordsets it's becoming slower, so I will also try the "find" method.
I had to add a movefirst call, I dont know why it needs it as the find call specifies from 1.
objRS2.Find "WidgetID=" & objRS(0),,1,1
Its only an adminpage so wont get huge traffic and the options will stay at about 50, so this will do me for now. But I still think theres a way to return a single recordset with the IDs and true/false, some kinda wierd outer join......