AsaMedlem sedan dec. 20011 860 inlägg Har olika värden sparade i ett fält i en databas.
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
Hoppas ni förstår min förklaring.
Kan du visa oss mer hur din tabell är uppbyggd? Var finns katId i tabellen? Hur ser tabellen kategori ut?
AsaMedlem sedan dec. 20011 860 inlägg Kategori innehåller bara kID och kategori.
katID är en hämtning ifrån en annan tabell, ex tabell1, där katID = RS("kategori")
Jag hämtar ifrån tabell1 där id är ett satt ID i en variabel.
Behöver du mer info?
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?
AsaMedlem sedan dec. 20011 860 inlägg 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?!
AsaMedlem sedan dec. 20011 860 inlägg Detta funkade :)
<%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%>
Vad bra att det till slut fungerade. :)
Nu får du markera denna tråd som löst. :)