На моей странице викторины у меня есть десять вопросов.Когда пользователь отвечает на эти вопросы, я сохраняю идентификаторы неправильных вопросов в массиве.Когда пользователь нажимает на ссылку «показать результат», я собираюсь отобразить все 10 вопросов с их ответами.Я хочу выделить неправильно отвеченный вопрос жирным шрифтом.
Вот мой код:
Dim DB_CONN_STRING
DB_CONN_STRING = "DBQ=" & Server.MapPath("quiz.mdb") & ";"
DB_CONN_STRING = DB_CONN_STRING & "Driver={Microsoft Access Driver (*.mdb)};"
DB_CONN_STRING = DB_CONN_STRING & "DriverId=25;FIL=MS Access;"
Const QUIZ_ID = 1
Dim panswer
panswer=split((Request.QueryString("marked")),",")
''# collecting wrongly answered question id in panswer
Dim cnnQuiz, rsQuiz, I
Set cnnQuiz = Server.CreateObject("ADODB.Connection")
cnnQuiz.Open DB_CONN_STRING
Set rsQuiz = Server.CreateObject("ADODB.Recordset")
rsQuiz.Open "SELECT * FROM questions WHERE quiz_id=" & QUIZ_ID & " ORDER BY question_number;", cnnQuiz, 3, 1
Do While Not rsQuiz.EOF
For I = LBound(panswer) to UBound(panswer)
if (CStr(rsQuiz.Fields("question_number").Value)) = CStr(panswer(i)) then
''# testing whether this question is wrongly answered and if its true then making bold letters.
response.Write("<b>"&(rsQuiz.Fields("question_number").Value)&")</b>")
response.Write("<b>"&(rsQuiz.Fields("question_text").Value)&"</b><br>")
response.Write("<b>"&(rsQuiz.Fields("correct_answer").Value)&"</b><br>")
end if
Next
'' # else displaying all 10 questions
response.Write((rsQuiz.Fields("question_number").Value)&") ")
response.Write((rsQuiz.Fields("question_text").Value)&"<br>")
response.Write((rsQuiz.Fields("correct_answer").Value)&"<br>")
rsQuiz.MoveNext
Loop
rsQuiz.Close
Set rsQuiz = Nothing
cnnQuiz.Close
Set cnnQuiz = Nothing
Проблема: этот код отображает все 10 записей, но выделяется только первый элемент в массивеи это повторяется дважды.Это существующий веб-сайт, и я должен придерживаться классического ASP.