webForumDet fria alternativet

Checkbox and array?

6 svar · 279 visningar · startad av Asa

AsaMedlem sedan dec. 20011 860 inlägg
#1

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")%>"> &nbsp; <%=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.

m_soderlundMedlem sedan sep. 20026 425 inlägg
#2

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
#3

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?

m_soderlundMedlem sedan sep. 20026 425 inlägg
#4

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
#5

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
#6

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%>> &nbsp; <%=Kat("kategori")%><br>
    <%Else%>
      <input type="checkbox" name="kID" value="<%=Kat("kID")%>"> &nbsp; <%=Kat("kategori")%><br>
     <%End If
   Kat.MoveNext
   Loop
 End If
Kat.Close
Set Kat=Nothing%>
m_soderlundMedlem sedan sep. 20026 425 inlägg
#7

Vad bra att det till slut fungerade. :)
Nu får du markera denna tråd som löst. :)

140 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
137 ms — hämta tråd, inlägg och bilagor (db)