webForumDet fria alternativet

Loopa checkbox

10 svar · 252 visningar · startad av Melea

MeleaMedlem sedan juli 20033 147 inlägg
#1

Hejsan! :)

Jag hade uppe den här tråden för ett tag sen men fick inga ordentliga svar eller så var det jag som ställde korkade frågor, hur som helst så håller jag på att bygga ett sk. match system åt en Counter-Strike klan och jag vill loopa de spelare som var med i matchen genom att kryssa för dem i checkboxar.

Men problemet är att jag inte vet hur insertkoden ska se ut sen eftersom jag måste ha 5 fält i databasen som heter player1, player2, player3, player4, player5.

I nuläget ser koden ut såhär:

<%Set Connect = Server.CreateObject("ADODB.Connection")
MySQL = "SELECT * FROM members where game = 'cs'" 
Set RecSet = Conn.Execute(MySQL) %>

<%If Request.Querystring("show") = ("players") then%>

<table cellspacing="0" cellpadding="0" border="0" class="table">
<tr>
<td class="news_ruta1">

<A HREF="javascript:popUp()"><b>LÄS FÖRST</b></A><br>

<form name="add" action="admin.asp?login=yes&add=match&show=info" method="post">
<table cellspacing="0" cellpadding="2" border="0" class="table2">
<%Do Until RecSet.EOF%>
<tr>
<td>
<%=RecSet("username")%> <input type="checkbox" name="spelare" value="<%=RecSet("username")%>">
</td>
</tr>
<%RecSet.Movenext
Loop%>
<tr>
<td colspan="2">
<input type="submit" name="skicka" value="Lägg till">
</td>
</tr>
</table>
</form>

</td>
</tr>
</table>

<%elseIf Request.Querystring("show") = ("info") then%>

<table cellspacing="0" cellpadding="0" border="0" class="table">
<tr>
<td class="news_ruta1">

<A HREF="javascript:popUp()"><b>LÄS FÖRST</b></A><br>

<form name="add" action="admin/addmatch.asp" method="post">
<input type="hidden" name="team1" value="Creative Revolution">
<table cellspacing="0" cellpadding="2" border="0" class="table2">
<tr>
<td width="120"><b>Antal</b></td><td width="200"><select name="typ">
<option value="N/A" Selected>Välj här</OPTION>
<option value="2on2">2on2</option>
<option value="3on3">3on3</option>
<option value="4on4">4on4</option>
<option value="5on5">5on5</option>
</select></td>
</tr>
<tr>
<td><b>Team 1</b></td><td>Creative Revolution</td>
</tr>
<tr>
<td><b>Team 2</b></td><td><input type="text" name="team2" size="30"></td>
</tr>
<tr>
<td><b>Map 1</b></td><td><input type="text" name="map1" size="30"></td>
</tr>
<tr>
<td><b>Map 2</b></td><td><input type="text" name="map2" size="30"></td>
</tr>
<tr>
<td><b>Team 1 resultat</b></td><td><input type="text" name="team1score" size="30"></td>
</tr>
<tr>
<td><b>Team 2 resultat</b></td><td><input type="text" name="team2score" size="30"></td>
</tr>
<tr>
<td><b>Typ</b></td><td><select name="ladder">
<option value="N/A" Selected>Välj här</OPTION>
<option value="CB">CB</option>
<option value="PCW">PCW</option>
</select></td>
</tr>
<tr>
<td colspan="2">
<input type="submit" name="skicka" value="Lägg till">
</td>
</tr>
</table>
</form>

</td>
</tr>
</table>

<%End If%>

Och insertkoden har jag inte vågat röra ännu eftersom jag inte har en suck om hur det ska se ut :)

I nuläget ser den iallafall ut såhär:

<%
Set Connect = Server.CreateObject("ADODB.Connection") 
Connect.Open "Driver={MySQL ODBC 3.51 Driver};server="&strserver&";uid="&struser&";pwd="&strpass&";database="&strdb&""

dim strTeam1, strTeam2, strMap1, strMap2, strTeam1score, strTeam2score, strLadder, strTyp, strDatum
strteam1 = Request.Form("team1")
strteam2 = Request.Form("team2")
strmap1 = Request.Form("map1")
strmap2 = Request.Form("map2")
strteam1score = Request.Form("team1score")
strteam2score = Request.Form("team2score")
strladder = Request.Form("ladder")
strtyp = Request.Form("typ")
strdatum = Now()

sql = " insert into cs_matches(Team1, Team2, Map1, Map2, Team1score, Team2score, Ladder, Typ, Datum)" &_
" "  & " VALUES (" &_
"'" & strTeam1 & "', " &_
"'" & strTeam2 & "', " &_
"'" & strMap1 & "', " &_
"'" & strMap2 & "', " &_
"'" & strTeam1score & "', " &_
"'" & strTeam2score & "', " &_
"'" & strLadder & "', " &_
"'" & strTyp & "', " &_
"'" & strDatum & "') "
Connect.Execute sql,,128

Response.Redirect("../admin.asp?go=cs&login=yes&add=match")
%>

Mycket kod, jag vet :) Hoppas någon har ork och hjälpa mig med det här, vore ytterst tacksam!

MVH

MeleaMedlem sedan juli 20033 147 inlägg
#2

Ingen som vill hjälpa mig med det här? :(

solbulleMedlem sedan mars 20015 287 inlägg
#3

Är det inte läge att ha en separat tabell där du kopplar ihop members med matcher?

MeleaMedlem sedan juli 20033 147 inlägg
#4

Hm jo, de kanske vore en bra ideé men hur gör jag isåfall insert grejen i den nya tabellen? Om vi säger att jag har en ny tabell med de två kolumnerna Spelare och matchID, så måste jag loopa igenom spelarna i insert filen så det blir alla jag har kryssat för etc. Eller? Och isåfall, hur ska det gå till? :OO

Fortfarande tacksam för svar :)

MVH

MeleaMedlem sedan juli 20033 147 inlägg
#5

Har lyckats få in spelarna i databasen fast inte med olika ID'n, det blir bara liquid, duffe, mellow med kommatecken istället för att de ska raddas under varandra..

dim strPlayers, strMatchID
strPlayers = Request.Form("players")
strmatchID = Request.Form("matchID")

sql = " insert into cs_matchplayers(players, matchID) "  & " values('" & strPlayers & "', '" & strmatchID & "') "
Connect.Execute sql,,128
solbulleMedlem sedan mars 20015 287 inlägg
#6
for each spelare in request.form("spelare")
    connect.execute "insert into cs_matchplayers values(" & matchID & "," & spelare & ")",,128
next
MeleaMedlem sedan juli 20033 147 inlägg
#7

Ok, ser här ser koden ut just nu:

dim strPlayers, strMatchID
strPlayers = Request.Form("players")
strmatchID = Request.Form("matchID")

for each players in strPlayers
connect.execute "insert into cs_matchplayers values(" & strmatchID & "," & strplayers & ")",,128
next

Men jag får felet:
Feltyp:
Körningsfel i Microsoft VBScript (0x800A01C3)
Objektet måste vara en mängd.

MVH

solbulleMedlem sedan mars 20015 287 inlägg
#8

Miss av mig tror jag:

connect.execute "insert into cs_matchplayers (matchID, players) values(" & strmatchID & "," & players & ")",,128
MeleaMedlem sedan juli 20033 147 inlägg
#9

Fortfarande samma fel :(

MVH

solbulleMedlem sedan mars 20015 287 inlägg
#10
connect.execute "insert into cs_matchplayers (matchID, players) values(" & strmatchID & ",'" & players & "')",,128

Såvida players är text och matchID är tal.

MeleaMedlem sedan juli 20033 147 inlägg
#11

Fick koll på det nu! ;)

Än en gång Solbulle, du e guld värd :D

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