2013-11-21 39 views
0

我有一個包含文本字段的頁面,用戶可以在其中輸入數據(在我們的情況下,它們是問題)。PHP:將動態數值的數值添加到MySQL數據庫中

它看起來是這個樣子:

___________________________________ 
| Enter your question...   | + 
|___________________________________| 

如果用戶點擊 '+',那麼另一場出現:

___________________________________ 
| User's first Question..   | 
|___________________________________| 
___________________________________ 
| Enter your next question...  | + 
|___________________________________| 

...等等。這些問題中的每一個都需要存儲在數據庫中,但是問題的數量是動態的(假設我們將最大數量限制爲100個問題),實現這一目標的最佳方法是什麼? 我應該爲每個問題創建一個新列嗎?這不會真的污染數據庫嗎?理想情況下,我的數據庫中只有一列叫做「問題」,並將所有問題存儲在該列中。這甚至有可能嗎?

事情是這樣的:

++++++++++++++++++++++++++++++++++++++++++++++ 
+ id | Questions       + 
++++++++++++++++++++++++++++++++++++++++++++++ 
+ 1 | My Question 1,MyQuestion,   + 
+ 2 | Another Question, And Another one, + 
+ . | ......        + 
++++++++++++++++++++++++++++++++++++++++++++++ 

*編輯* 要清楚 - 我需要能夠以後檢索每個這些問題,並能夠以每一個單獨隔離(例如作爲一個PHP數組)。

* EDIT2 * 此外,因爲一組問題是每個每個用戶的問題捆需要保持在一排。即我無法在自己的行中添加問題。在上面的示例中,ID1是個人用戶,My Question 1MyQuestion是該用戶的問題。

+2

yes.Keep只是一個數據庫列,插入新的問題,如新行 –

+0

寫給一個編輯澄清 - 對不起 – user1775598

+0

ü可以添加USER_ID用戶的具體問題 –

回答

0

您可以嘗試的選項是通過創建另一個表來分割它。所以要爲用戶清楚一張表格,另一張表格是爲了問題。

在表格用戶你可以有一個user_id和可能的用戶名,在表問題你可以有一個unique_id,問題,然後一個外鍵約束引用問題的用戶。

這樣你可以單獨或全部訪問它們。

1

最簡單的一個,我相信,就是使你的數據庫表是這樣的:

++++++++++++++++++++++++++++++++++++++++++++++ 
+ id | user_id | question     + 
++++++++++++++++++++++++++++++++++++++++++++++ 

所以不要緊,用戶將有多少的問題都有。

0

在這種情況下,您可以使用基於文檔的NOSQL解決方案(如MongoDB),或者創建一個id爲id,user_id和question的表。

+0

我認爲引入另一種技術到系統中用於此目的將是一個嚴重的錯誤。 ;) –

+0

@sam yi,沒有,因爲這些問題和答案不僅僅是由誰發佈的問題來看。來自Stackoverflow的問題可能會被許多IT學生所反駁。所以我們有責任在我們回答時添加一些額外的但相關的信息。是嗎? –

+0

即使是這樣。 NoSQL的確適用於關係數據庫不足的情況。我知道很多開發人員都像孩子一樣,他們希望掌握一些新的和酷的東西,但在一個仍然嚴重依賴AS/400系統的企業環境中,這些「酷」玩具來來往往。不說NOSQL是無用的......只是說有太多的炒作。 –

相關問題