yoursyun
뺑뺑이 뽑기 (ASP) 본문
Const RNDUSERCNT = 150 '몇명을 뽑을 것 인가.
dim cnt: cnt = 0 ' 뽑힌 인원 수
dim dataCnt: dataCnt = 0
dim setUserIdx: setUserIdx = 0
dim strSQL: strSQL = "적당한쿼리로기준열1개의레코드셋을리턴"
set objQuery = new clsQuery
arrList = objQuery.getRs(strSQL, null, null)
set objQuery = nothing
dataCnt = ubound(arrList, 2)
set dicUser = CreateObject("Scripting.Dictionary") ' 대상자
set Winner = CreateObject("Scripting.Dictionary") ' 뽑힌인원
for i = 0 to dataCnt
dicUser.add i, arrList(0, i)
next
' -----------------------------------
do while (cnt <> RNDUSERCNT)
Randomize
setUserIdx = int((dataCnt * rnd) + 1) ' 대상 인덱스에서 뽑힌 인원 인덱스
if not Winner.Exists(setUserIdx) then
cnt = cnt + 1
Winner.add setUserIdx, dicUser.item(setUserIdx)
end if
loop
' -----------------------------------
for each fn in Winner
result = result & Winner.item(fn) & "<br />"
next
response.Write(Winner.Count & "명 <br />")
response.Write(result)
set dicUser = nothing
set Winner = nothing
반응형