2016-02-24 95 views
0

我想開發一個Web服務,用戶可以在其中添加。每張票都有一個輸入文本字段標題和文本區說明。如果用戶點擊保存按鈕,數據將被保存在mysql數據庫中。動態添加自定義輸入字段並將其保存到數據庫

管理員有一個管理面板。他可以在此管理面板中添加或刪除輸入字段,以更改用戶查看錶單的添加票。 例如:管理員添加一個選擇字段類別。您可以選擇類別ABC。如果選擇類別A,將會有一個新的輸入文本字段動物。如果您選擇類別B,則什麼也不會發生。如果您選擇類別C,則會有2個新字段:一個文本字段和一個數字字段。數字字段是必需的。等等等等。在一週後,管理員可以刪除一些字段,或添加一個類別或...總之,管理員可以添加和刪除選擇,文本,數字,密碼,...字段添加票部分與關係,長度和要求。

我不知道如何構建數據庫和保存數據。我想是這樣一個MySQL表ticketstitledesc,並且data,把一個XML/JSON字符串到data字段,另一個表ticketFieldsname(類,動物,......),type(文字,數字,。 ..),required(是/否),length(int),data(用於存儲選定字段的數據)。問題是,這種模型中缺少關係。那麼我怎樣才能保存這些數據?

回答

1

關係模型可能是這樣的:

票務
ID PK


ticketId FK PK
fieldId FK PK

字段
ID PK,
名,
parentFieldId NULL FK,
parentFieldValue NULL,
類型,
需要,
分鐘NULL,
最大NULL,
範圍NULL
(.. 。其他「約束」字段,關於選擇類型檢查)

首先,字段wi顯示NULL的parentFieldId。僅在給出父字段的答案時才顯示具有parentFieldId集的字段。如果給出父字段的答案並且它等於parentFieldValue,則顯示具有parentFieldId和parentFieldValue集的字段。

給出的答案與字段的類型相關(例如,如果類型是「數字」,那麼答案必須是最小值和最大值之間的數字)。

0

您可以創建另一個帶有id,類別和字段的表以供管理員使用,並使用公共ID字段(最好是主鍵)將它們關聯起來。現在,可以查詢此表以查看在主表中針對特定ID插入的新類別的參考。使用javascript/jquery爲新字段動態創建html代碼並將其顯示在您的頁面上。

假設您的用戶選擇選項'A',那麼可以查詢新表以查看管理員是否對選項'A'設置了任何字段。如果是,請檢查這些字段並將其顯示給用戶。

相關問題