※ ChatGPTを利用し、要約された質問です(原文:複数のランダムクイズの表示がうまくいきません・・・。)
複数のランダムクイズの表示がうまくいかない!
このQ&Aのポイント
複数のランダムクイズの表示がうまくいかない問題について質問があります。
プログラムを作成しましたが、表示が思うようにいかずバラバラです。
どなたか分かる方いらっしゃいましたらご教授お願いします。
複数のランダムクイズの表示がうまくいきません・・・。
以下のようなプログラムを作成しましたが、表示が思うようにいきません。。
本当なら複数の問題をランダムで5問ずつ表示したいのですが、すべて表示することができず、1問のみだったり、3問のみしか表示されなかったりとバラバラです。
記述方法が悪いのでしょうか?どなたか分かる方いらっしゃいましたらご教授お願いします。
-------------------------
<%
accessdb="cityquiz"
cn="DRIVER={Microsoft Access Driver (*.mdb)};"
cn=cn & "DBQ=" & server.mappath(accessdb)
set rs = Server.CreateObject("ADODB.Recordset")
sql = "select * from quiz"
rs.Open sql, cn, 1, 3
total_records=rs.recordcount
randomize
random_number=int(rnd*total_records)+1
rs.MoveFirst
do while not rs.eof and counter <> random_number
counter = counter + 1
if counter= random_number then
response.write rs("問題") & "<br>"
response.write "<input type='radio' name='Q1' vakue='" & rs("ID") & "1'>" & rs("1択") & "<br>"
response.write "<input type='radio' name='Q1' vakue='" & rs("ID") & "2'>" & rs("2択") & "<br>"
response.write "<input type='radio' name='Q1' vakue='" & rs("ID") & "3'>" & rs("3択") & "<br>"
response.write "<input type='radio' name='Q1' vakue='" & rs("ID") & "4'>" & rs("4択") & "<br>"
response.write "<br>"
end if
counter2 = counter + 2
if counter2= random_number then
response.write rs("問題") & "<br>"
response.write "<input type='radio' name='Q2' vakue='" & rs("ID") & "1'>" & rs("1択") & "<br>"
response.write "<input type='radio' name='Q2' vakue='" & rs("ID") & "2'>" & rs("2択") & "<br>"
response.write "<input type='radio' name='Q2' vakue='" & rs("ID") & "3'>" & rs("3択") & "<br>"
response.write "<input type='radio' name='Q2' vakue='" & rs("ID") & "4'>" & rs("4択") & "<br>"
response.write "<br>"
end if
counter3 = counter + 3
if counter3= random_number then
response.write rs("問題") & "(3)<br>" & counter3
response.write "<input type='radio' name='Q3' vakue='" & rs("ID") & "1'>" & rs("1択") & "<br>"
response.write "<input type='radio' name='Q3' vakue='" & rs("ID") & "2'>" & rs("2択") & "<br>"
response.write "<input type='radio' name='Q3' vakue='" & rs("ID") & "3'>" & rs("3択") & "<br>"
response.write "<input type='radio' name='Q3' vakue='" & rs("ID") & "4'>" & rs("4択") & "<br>"
response.write "<br>"
end if
~略~
rs.movenext
loop
%>
お礼
分かりやすく丁寧な解説ありがとうございました。 おかげさまで解決することが出来ました。 初期値を入れることも大事なんですね。バグを引き起こす原因になるのも初めて知りました。 これからはつけるように心がけていきたいと思います。 どうもありがとうございました。