0
我想知道如何高效地記錄並與MySQL和PHP的在線測試顯示用戶的進度跟蹤用戶的學習進度。如果用戶想跳過某些問題或關閉屏幕,我希望他們回來看看問題列表項目旁邊的「已完成」所取得的進展。如何編寫一個系統中使用MySQL和PHP
的問題或關心真的是如何去存儲方面的進展以及如何檢查它。
這裏是我的數據庫設計簡化了這個問題的緣故
表1:用戶 字段:ID,用戶名,PW,用戶名,進步 (是的,我有叫這裏進步領域)
表2 :問題 字段:ID,教訓,問題,提示,回答
所以,如果一個用戶完成一個問題,然後在進度場,我會追加question_id在那裏。
在有問題名單網頁,我將有一個獲取用戶ID的進度字段它傳遞到頁面,以便之後...
select progress from user where id = $user_id
我可能會得到所有這些陣列已完成的問題
所有的ID然後我會寫:「如果問題ID =進展[ID],然後回聲‘完成’」樣的事情語句來if語句做每一個問題。
這個問題似乎高效?或者你會怎麼做?我很欣賞網上的任何教程都能做到這一點,所以我可以更好地瞭解發生了什麼。感謝您在自己的表
這是一個總的原則:任何時候你在設計一個數據庫,你是串聯將同一類型實體的多個實例組合在一起,並將結果填充到一列中,這幾乎肯定已經出錯了。 – 2012-04-01 02:32:26