Namn - Datatyp
--------------------
katID ----- text
Sparas så här: 1, 2, 3
Har denna kod för att skriva ut alla checkboxar. Det är kategorier sparade i en databas.
<%Set Kat=Conn.Execute("Select * From kategori Order By kategori")
If Not Kat.EOF Then
Do Until Kat.EOF%>
<input type="checkbox" name="kID" value="<%=Kat("ID")%>"> <%=Kat("kategori")%><br>
<%Kat.MoveNext
Loop
End If
Kat.Close
Set Kat=Nothing%>
Varje checkbox har ett värde och vill nu kolla vilka värden katID har och de värden som finns ska bli ikryssade i koden ovan.
Denna skriver ut alla på en rad men hur gör man för att få ihop denna med koden ovan?!
myArray = split(katID,",")
For i = 0 To Ubound(myArray)
response.write myArray(i) & "<br>"
Next
Jag tror att jag förstår. Jag tror att din uppbyggnad av tabellerna inte är den bästa, som det är just nu så tror jag att du måste köra For.. next-satsen inom Do .. While-loppen och dessutom en If-sats där. Allt detta tummar nog en del på prestandan, skulle jag tro. Kan du inte bygga om dina tabeller?
Hur skulle du bygga? Jag har ju alla kategorierna sparade i en tabell och det är ett måste.
SKa jag göra en For men den arrayen jag skrev eller nåt liknande?!
<%Set Kat=Conn.Execute("Select kID,kategori From kategori Order By kategori")
If Not Kat.EOF Then
Do Until Kat.EOF
If Restaurang("kID") <> "" Then
myArray = split(Restaurang("kID"),",")%>
<input type="checkbox" name="kID" value="<%=Kat("kID")%>" <%For i = 0 To Ubound(myArray)%><%If instr(myArray(i), Kat("kID")) > 0 then%>checked<%End If%><%NExt%>> <%=Kat("kategori")%><br>
<%Else%>
<input type="checkbox" name="kID" value="<%=Kat("kID")%>"> <%=Kat("kategori")%><br>
<%End If
Kat.MoveNext
Loop
End If
Kat.Close
Set Kat=Nothing%>