2016-03-04 135 views
0

我必須創建一種隨機問題的民意調查,我想問你,將這些隨機問題存儲在MySQL數據庫中的最佳方式是在MySQL數據庫中保存隨機問題和答案的最佳方法

  • 存儲問題爲字符串,這意味着我將通過PHP提取從一堆我已經得到了隨機出題,並將其保存在數據庫中像this

  • 存儲問題的ID作爲字符串(如「1_2_3_4_5」),然後使用PHP我使用explode()從數組中取出一個數組,並使用questio取出數組ns'使用ID的文本: Table

  • 或請建議我一個更好的方法。

非常感謝您,感謝您的支持,希望我能夠清楚地解釋併爲錯誤而感到遺憾。

+1

_我想問你_和_最好的辦法_。很多好的問題都會根據專家的經驗產生一定程度的意見,但對這個問題的回答幾乎完全基於意見,而不是事實,參考或具體的專業知識。這似乎沒有題目,但我不知道,也許有人給你一個提示。請看看[幫助中心>提問](http://stackoverflow.com/help/asking) – FirstOne

+0

@FirstOne我其實不這麼認爲,因爲我想要的是獲得改進/在優化的意義上開發我的應用程序的最佳方式。 –

+0

無論是過於寬泛還是基於主觀意見,這對於SO來說都不是一個好問題。 – Drew

回答

1

我想創建一個問題表和QuestionResponses表,在最低限度。 QuestionResponses可以有一個外鍵引用的問題,以及一個VARCHAR(SOMELENGTH)字段用於存儲響應。

+0

是否這樣? https://gyazo.com/51ed5f3326968f7cf8262316e7f763b7 –

+0

這工作!根據您最終嘗試完成的任務,您可能會或可能不想要存儲一些額外的信息,並將您的數據關係進一步抽象化。 –

+0

例如,您可能希望在QuestionResponses表中添加用戶名列,以便稍後將問題響應映射到用戶。更好的是,您可以創建一個Users表,然後向userId的QuestionResponses表中添加一列(作爲對Users表ID列的外鍵引用)。這種風格的數據庫結構高度規範化,如果您計劃在以後向代碼添加其他功能,將會提供最佳的模塊性。 –

0

我會去你的第一個選項。您可以將問題作爲字符串存儲在數據庫中,然後使用php/pdo隨機選擇陣列中每次需要的問題數量,然後隨機打印出陣列內容。 (英文有時候很難,所以我會再解釋)......

說你要生產每試圖使用的應用程序,你可以在數據庫中至少50個問題存儲爲字符串用戶5隨機出題,然後從數據庫中隨機選擇10個問題(這是爲了避免每次選擇所有問題或選擇同一組問題),從隨機選擇的10個問題(現在在數組中)隨機選擇10個問題出5用戶。因此你有兩組隨機化。

我希望這樣做也有一定的意義和幫助。

我可以更好地解釋自己,如果你有任何問題。

謝謝。

相關問題