
March 14th, 2001, 04:56 AM
|
|
Contributing User
|
|
Join Date: Dec 2002
Posts: 14,575
  
Time spent in forums: < 1 sec
Reputation Power: 22
|
|
|
URGENT!!!Capturing data from table which displays one record ta time
<i><b>Originally posted by : Lavinia (lavinia14@hotmail.com)</b></i><br />This is my code for displaying one question at a time.But when i submit the form to GetResult.asp it doesn't get the details from the Assessment_quizzes.asp at all.......pls help<br /><br /><br />Assessment_quizzes.asp<br /><!-- #include file="adovbs.inc" --><br /><!-- #include file="common.asp" --><br /><br /><html><br /><br /><head><br /><title>Take Assessment</title><br /></head><br /><br /><br /><BODY bgcolor="#00CCFF" text="#000080"><br /><br /><br /><%<br /><br />' ADO constants used in this page<br />Const adOpenForward = 0<br />Const adLockRead = 1<br />Const adTableDirect = &H0200<br />Const adClient = 3<br /><br /><br />ON ERROR RESUME NEXT<br />assid = Request.Form("AssQuiz")<br />connStr = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath("New_Client.mdb")<br />sqlQue = " Select * from QryGetQueAns where QueTestID= 1 order by QueID"<br />set rs = Server.CreateObject("ADODB.Recordset")<br /> <br /> rs.PageSize = 1<br /> rs.CacheSize = 5<br /> rs.CursorLocation = adClient<br /> <br /> rs.Open sqlQue, connStr, adOpenForward, adLockRead, adTableDirect<br /> <br /> If Len(Request("pagenum")) = 0 Then<br /> rs.AbsolutePage = 1<br /> Else<br /> If CInt(Request("pagenum")) <= rs.PageCount Then<br /> rs.AbsolutePage = Request("pagenum")<br /> Else<br /> rs.AbsolutePage = 1<br /> End If<br /> End If<br /> <br /> Dim abspage, pagecnt<br /> abspage = rs.AbsolutePage<br /> pagecnt = rs.PageCount<br /> <br /> If Not rs.EOF Then<br /> Response.Write "PageCount : " & rs.PageCount & "<br>" & vbcrlf<br /> Response.Write "Absolute Page : " & rs.AbsolutePage & "<br>" & vbcrlf<br /> <br /> Response.Write "Total number of Questions : " & rs.RecordCount & "<br><br>" & vbcrlf%><br /> <br /><h1><span style="background-color: #CCFFFF">Assessment Quizzes</span></h1><br /><hr><br><br /><form name="QuizQues" action="<%=action%>" method=POST><br />You may proceed with your quiz now. Good Luck!<br /><input type="hidden" name="mode" value="<%=mode%>"><br /><input type="hidden" name="userid" value="<%=Request.form("userid")%>"><br /><input type="hidden" name="startTime" value="<%=now()%>"><br /><input type="hidden" name="assQuiz" value="<%=assid%>"><br /><br /><br /><table border="1" cellpadding="5" cellspacing="0"><br /><tr bgcolor="#CCFFFF"><br /> <td>Assessment ID</td><br /> <td>Question No</td><br /> <td>Questions</td><br /> <td>Option1</td><br /> <td>Option2</td><br /> <td>Option3</td><br /> <td>Option4</td><br /> <td>Answer</td><br /></tr><br /><%dim counter<br />counter = 0<br />Dim Count 'We'll use this to limit the number of records displayed on a page<br />Count = 1<br />do while NOT rs.EOF AND Count <= rs.PageSize<br />%><br /><tr><br /> <td><%=rs("QueTestID")%></td><br /><input type="hidden" name="assid<%= counter%>" value="<%rs("QueTestID")%><br /> <td><%=rs("QueID")%></td><br /><input type="hidden" name="queno<%= counter%>" value="<%rs("QueID")%><br /><br /> <td><%=rs("Questions")%></td><br /> <td><%=rs("Option1")%></td><br /> <td><%=rs("Option2")%></td><br /> <td><%=rs("Option3")%></td><br /> <td><%=rs("Option4")%></td><br /> <td><input type="radio" name="ans<%=counter%>" value="1" checked>1<br> <br /> <input type="radio" name="ans<%=counter%>" value="2">2<br><br /> <input type="radio" name="ans<%=counter%>" value="3">3<br><br /> <input type="radio" name="ans<%=counter%>" value="4">4</td><br /></tr><br /><%<br />count = count + 1<br />counter = counter + 1<br />rs.MoveNext<br />loop<br />%><br /><tr><br /><td align="center" colspan="8" bgcolor="#CCFFFF"><br /><%' Now showing first, next, back, last buttons.<br /> Response.Write "<div align=""center"">" & vbcrlf<br /> Response.Write "<a href=""" & Request.ServerVariables("SCRIPT_NAME") & "?pagenum=1"">First Question</a>"<br /> Response.Write " | "<br /> <br /> If abspage = 1 Then<br /> Response.Write "<span style=""color:sliver;"">Previous Question</span>"<br /> Else<br /> Response.Write "<a href=""" & Request.ServerVariables("SCRIPT_NAME") & "?pagenum=" & abspage - 1 & """>Previous Question</a>"<br /> End If<br /> <br /> Response.Write " | "<br /> <br /> If abspage < pagecnt Then<br /> Response.Write "<a href=""" & Request.ServerVariables("SCRIPT_NAME") & "?pagenum=" & abspage + 1 & """>Next Question</a>"<br /> Else<br /> Response.Write "<span style=""color:sliver;"">Next Question</span>"<br /> End If<br /> Response.Write " | "<br /> Response.Write "<a href=""" & Request.ServerVariables("SCRIPT_NAME") & "?pagenum=" & pagecnt & """>Last Question</a>"<br /> Response.Write "</div>" & vbcrlf<br /> <br /> Else<br /> Response.Write "No records found!"<br /> End If<br /> <br /> rs.Close<br /> Set rs = Nothing<br /> <br />%><br /></table><br /><br><br /><input type="submit" name="Submit" value="Submit_Quiz"><br /></form><br /></Body><br /><br /><br /><!-- #include file="adovbs.inc" --><br /><!-- #include file="connect_database1.asp" --><br /><br /><html><br /><br /><head><br /><title>Take Assessment</title><br /></head><br /><BODY bgcolor="#00CCFF" text="#000080"><br /><br /><br /><%ON ERROR RESUME NEXT%><br /><h1><span style="background-color: #CCFFFF">Assessment Quizzes Result</span></h1><br /><hr><br><br /><%<br /> startTime=Request.Form("startTime")<br /> 'startTime=month(startTime)&"/"&day(startTime)&"/"&year(startTime)&" "&hour(startTime)&":"&minute(startTime)&":"&second(startTime)<br /> endTime=now()<br /> 'endTime=month(endTime)&"/"&day(endTime)&"/"&year(endTime)&" "&hour(endTime)&":"&minute(endTime)&":"&second(endTime)<br /> secTimeTaken=datediff("s",startTime,endTime)<br /> minTimeTaken=Fix(secTimeTaken/60)<br /> hrTimeTaken=Fix(secTimeTaken/3600)<br /> '''''Cannot be use because e.g datediff("h",10:45am,11:15am)=1<br /> 'minTimeTaken=datediff("n",startTime,endTime)<br /> 'hrTimeTaken=dateDiff("h",startTime,endTime)%><br /> <br /> Your result for Assessment <%=assid%> are display below. It will be recorded in the database.<br /> <br /> <table border="1"><br /> <tr><br /> <td><b><i>Date and Time Started:</i> </b></td><br /> <td><%=formatdatetime(startTime,1)&"-----"&formatdatetime(startTime,3)%></td><br /> </tr><tr><br /> <td><b><i>Date and Time Completed:</i> </b></td><br /> <td><%=formatdatetime(endTime,1)&"-----"&formatdatetime(endTime,3)%></td><br /> </tr><tr><br /> <td><b><i>Date and Time Taken:</i> </b></td><br /> <td><b><%=hrTimeTaken%></b><i>Hour(s) <b><%=(minTimeTaken-(hrTimeTaken*60))%></b>Minute(s) <b><%=(secTimeTaken-(minTimeTaken*60))%></b>Second(s)</i></td><br /> </tr><br /> <%<br /> assid=trim(Request.Form("assQuiz"))<br /> sqlAssCount = "select count(*) as numRows from QryGetQueAns where QueTestID="& assid &" "<br /> sqlAss = " Select * from QryGetQueAns where QueTestID="&assid&" order by QueID"<br /> set rs=cn.Execute(sqlAssCount)<br /> set rs2=cn.Execute(sqlAss)<br /> <br /> dim ResultArray()<br /> redim ResultArray(rs("numRows"))<br /><br /> for x=0 to rs("numRows")-1<br /> ResultArray(x)=Request.Form("assid"&x)&"|"&Request.form("quesno"&x)&"|"&Request.Form("ans"&x)<br /> next<br /> <br /> y=0<br /> ResultSum=0<br /> While not rs2.eof<br /> String1 = rs2("QueTestID")&"|"&rs2("QueID")&"|"&rs2("Answer")<br /> String2 = ResultArray(y)<br /> if strcomp(trim(String1),trim(String2))=0 then<br /> ResultSum=ResultSum+1<br /> end if<br /> y=y+1<br /> rs2.MoveNext<br /> Wend%><br /> <br /> <%<br /> if ResultSum<(rs("numRows")/2) then<br /> setColor="red"<br /> else<br /> setColor="black"<br /> end if<br /> %><br /> <tr><td><b>Score: </td><td><font color="<%=setColor%>"><%=ResultSum%></font>/<%=rs("numRows")%></td></tr></table><br /> <%userid=Request.form("userid")<br /> <br /> sqlResultIns = "Insert into TblResult values('"&userid&"',"&assid&","&ResultSum&")"<br /> Set rs=cn.Execute(sqlResultIns)%><br /></body><br /><br /></html><br /> <br /><br /><br />
|