2010-08-09 113 views
1

我正在一個用戶可以測試的網站上工作。我有一個測試領域,每個科目有100個問題。如果用戶正在進行測試,我希望他們能夠保存他們已經完成的工作,並在他們返回時,我希望他們能夠繼續他們離開的工作。被回答的問題是多項選擇題,他們通過選擇單選按鈕來回答他們,每個單選按鈕的值都是A,B,C,D或E.我使用PHP和MySQL進行編程和數據庫存儲。如何保存當前工作狀態?

我是否需要每個測試的表格,並有100列名稱,如1,2,3,4,5一直到一百,當用戶保存他們的工作,它會存儲他們已經完成的問題在數據庫中?這是一個好方法還是他們的另一種方式?

回答

5

有一個'用戶'表和一個'問題'表。

還有另外一個表,'答案',外鍵爲'questions',外鍵爲'users',一列爲'answer'。

當用戶回答問題時,用「用戶ID」,問題ID和他們提供的答案在「答案」表中插入一條記錄。

如果他們還沒有回答這個問題,那麼這張表就不會有記錄。

+0

是的。這被稱爲聯結表 – 2010-08-09 15:31:40

1

這是我爲第一次草案提出的。

User 
-------- 
UserId 
UserName 

Test 
------- 
TestId 
TestName 

TestQuestions 
---------------- 
QuestionId 
TestId 
QuestionName 

QuestionChoices 
---------------- 
ChoiceId 
QuestionId 
Choice 

UserTestAnswers 
----------- 
UserId 
ChoiceId 
相關問題