Har en tabell som innehåller tre fält;gameID, playerID och minutes. Här sparas hur många minuter en spelare spelar i varje match.
På adminsidan som finns finns dels en checkbox för varje spelare om han spelat eller ej samt ett fält för att fylla i minutrarna. Checkboxarna har funkat fint men idag tänkte jag lägga till minutrarna. Kåden finns nedanför. Allt funkar så länge checkboxarna är ikryssade. Är dom inte det dock så förskjuts
minutrarna ... varför?
Här lagras all data. Funkar fint.
<tr height="17" bgcolor="<%=set_bg(pattern)%>"><td><%=RecSet("Name")%></td><td><input type="checkbox" name="ID" <% = CheckCheckBox(Cstr("Select * From playedgames Where playerID="&RecSet("ID")&" And gameID="&Session("a_GameID")&"")) %> value="<%=RecSet("ID")%>"></td><td><input type="number" size="2" maxlength="2" name="Mins" value="<% Response.Write PrintValue3("Select * From playedgames Where playerID="&RecSet("ID")&" and gameID="&Session("a_GameID")&"","Minutes") %>"></td></tr>
Här sparas det i databasen. Det är här det strular. Jag vill att den skall gå igenom ALLA IDs. Men den hoppar över alla som inte är checkade...
Connect.Execute("Delete * From playedgames Where gameID="&Session("a_GameID")&"")
ids = Request.Form("ID")
mins= Request.Form("mins")
tempids = Split(ids,",")
tempmins = Split(mins,",")
For i=0 To UBound(tempids)
Connect.Execute ("Insert Into playedgames ([gameID], [playerID], [Minutes]) values("&Session("a_GameID")&","&tempids(i)&","&tempmins(i)&")")
next
För första kodbiten skulle jag vilja föreslå att du redan i databasutsökningen ser till att få med värdena som du nu hämtar med CheckCheckBox och PrintValue3. Dessa funktioner är klart överflödiga.
Anledningen till att det förskjuts är att du bara får med de ikryssade checkboxarna i request, medan du får med alla min-rutorna. Arrayen tempids innehåller mao färre element än tempmins.
Connect.Execute("Delete * From playedgames Where gameID="&Session("a_GameID")&"")
For each ID in request("ID")
Connect.Execute "Insert Into playedgames ([gameID], [playerID], [Minutes]) values("&Session("a_GameID")&"," & ID & "," & replace(request.form("Min" & ID),"'","''") &")"
next
Som du ser ligger själva ID:t i ett hiddenfält, och detta ID läggs in i namnet på både textrutan och checkboxen. Checkboxen saknar dock funktion i detta exempel, men värdet kan lätt plockas ut med request.form("Played" & ID)
253 ms totalt · 4 externa anrop · v20260731065814-full.51f67c91