Jag tror att du lättare får hjälp om du beskriver det specifika problemet.
Hur det blir/inte blir. Vad som blir fel/inte blir fel.
Samt, att du klamrar in din kod mellan [kod ] och
:)
5 svar · 279 visningar · startad av satchmo
Hej på er allihopa.
Sitter här med mitt lilla script , och får inte ut värdena jag vill ha riktigt.
Det jag skulle vilja är att en person som har en viss typ av landplätt enbart ska kunna se de andra som har likadana landplättar. Dvs mitt lag som har landplätt (åker) ska inte kunna se andra spelare som har landplätt (stad).
Tackar för hjälpen
<%
uid=trim(session("uid"))
Set RS = Conn.execute("SELECT count(*) as numberp FROM player where uid = '"&uid&"'")
while not RS.eof
numberOfPlayer=cint(rs("numberp"))
RS.movenext
wend
RS.close
Set RS = nothing
Set RS = Conn.execute("SELECT count(*) as landplattavailable FROM userinfo where uid = '"&uid&"' and landplatt is null")
while not RS.eof
landplatt=cint(rs("landplattavailable"))
RS.movenext
wend
RS.close
Set RS = nothing
if numberOfPlayer < 5 then
%>
<script language="javascript">
alert("Du måste ha 6 spelare för att kunna utmanna, du har just nu <%=numberOfPlayer%> spelare")
window.close()
</script>
<%else if stadium<>0 then%>
<script language="javascript">
alert("Du måste köpa en landplätt innan du kan utmanna")
window.close()
</script>
<%else%><b>
Välj laget du vill utmana:
<p> <font color="225533">Lag namn</font>
<form name="cha" action="challenge.asp" method=Post>
<select name="team" size=10>
<%
'spelaren ska enbart se likadana landplättar
'Set RS66 = Conn.execute("SELECT * From userinfo WHERE stadium <> '"&stadium&"'")
Set RS = Conn.execute("SELECT * FROM userinfo where uid <> '"&uid&"'")
while not RS.eof
uid2=trim(rs("uid"))
Set rs1= Conn.execute("SELECT count(*) as totalplayers FROM player where uid ='"&uid2&"'")
while not RS1.eof
totalplayers=cint(rs1("totalplayers"))
RS1.movenext
wend
RS1.close
Set RS1 = nothing
if totalplayers >= 6 then
%>
<option value="<%=trim(rs("tname"))%>"><%=rs("tname")%>(<%=rs("fan")%>)</option>
<%
end if
RS.movenext
wend
RS.close
Set RS = nothing
Jag tror att du lättare får hjälp om du beskriver det specifika problemet.
Hur det blir/inte blir. Vad som blir fel/inte blir fel.
Samt, att du klamrar in din kod mellan [kod ] och
:)
Problemet är att just nu så listas alla landplättar ut, när man kollar på andra personer.
Det jag vill är att om du har landplätt a så ska du enbart kunna se alla andra som har landplätt a, just nu ser du alla vare sig de har a,b,b,e osv. Så det är egentligen en sorterings jag är ute efter.
Om jag har landplätt a och vill utmanna någon ska jag enbart i listan kunna se de andra med landplätt a, de med b ska endast kunna se b. osv
Set RS = Conn.execute("SELECT DISTINCT u1.* FROM userinfo u1, userinfo u2 WHERE u1.uid<>u2.uid AND u1.landplatt=u2.landplatt AND u2.uid= '"&uid&"'")
Ett geni, det funkar.
Du ska ha hjärtligt tack för hjälpen :-)
Det var så lite så. En sak till dock. När du hämtar ut ett enda värde från databasen så behöver du inte loopa (eftersom det inte finns något att loopa över)
Ex.
Set RS = Conn.execute("SELECT count(*) as numberp FROM player where uid = '"&uid&"'")
while not RS.eof
numberOfPlayer=cint(rs("numberp"))
RS.movenext
wend
...kan skrivas som
Set RS = Conn.execute("SELECT count(*) as numberp FROM player where uid = '"&uid&"'")
if not RS.eof
numberOfPlayer=cint(rs("numberp"))
end if
eller till och med
numberOfPlayer=cint(Conn.execute("SELECT count(*) FROM player where uid = '"&uid&"'")(0))
Eftersom vi i detta fall alltid kommer att få något svar