מסד הנתונים
מסד הנתונים מורכב מ-2 טבלאות:
q - זו היא טבלה האוגרת את כל השאלות; בטבלה זו ישנן 9 שדות:
- ID - לזיהוי השאלה בספציפית
- Test_id - מספר המבחן, כדאי לזהות איזו שאלה שייכת לאיזה מבחן
- Q - השאלה עצמה
- Ans_1,2,3 - 3 תשובות אפשריות לשאלה
- Points_1,2,3 - כמות הנקודות שכל אחת מהתשובות (ans_1,2,3) שווה

Tests - טבלה זו אוגרת את כל הבחנים ואת התשובות אשר יוצגו לגולש בהתאם לניקוד של השאלות; בטבלה זו ישנן 9 שדות:
- Test_id - משמשת לזיהוי המבחן
- T_text - התיאור של לפני המבחן
- a,b,c - אחת מהתשובות האלו תוצגנה לגולש ע"פ הניקוד אשר יצבור
- Option1 - כאשר הניקוד שהגולש מקבל קטן מהמספר המוכנס לשדה זה אז יוצג שדה a.
- Option2 - כאשר הניקוד שהגולש מקבל גדול מהמספר המוכנס לשדה זה יוצג שדה b.
- The_date - התאריך בו נפתח המבחן.
הסבר על הדפים
Conn.asp מכיל את החיבור למסד הנתונים ואת הפונקציה hebEncode למניעת בעיות עברית; דף זה מוכלל בעזרת include לכל הדפים. Main.asp - דף זה מציג את שמות הבחנים. לחיצה על שם הבוחן תוביל לבוחן עצמו. Test.asp - מציג את שם/כותרת הבוחן, תאור הבוחן ואת כל השאלות של בוחן זה. Test-do.asp - חישוב הניקוד של המשתמש והצגת הודעה בהתאם: test_id=request("test_id")
count=0 איפוס המשתנה ל-0
for x=0 to request("i") תחילת הלולאה אשר מחברת את הניקוד של כל שאלה
q=request("q_"&x)
count=count+q ביצוע החיבור עצמו
next
Set rs = Server.CreateObject("ADODB.RecordSet")
SQL = "Select * From tests where test_id="&test_id
rs.Open SQL, DSN
option1=rs("option1")
option2=rs("option2")
a=rs("a")
b=rs("b")
c=rs("c")
if countoption2 then
response.write c
else
response.write b
end if
rs.Close
Set rs = Nothing
כמו כן ישנן עוד דפים של הניהול אך אני לא אסביר עליהם. נשאלות נוספות ניתן ליצור איתי קשר באימייל: igal21@hotmail.com ו/או בפורום האתר.
(יש לוודא הרשאות כתיבה לתקייה עם מסד הנתונים בשרת שלכם, אחרת הדוגמא לא תעבוד כמו שצריך)
תהנו
|