我正在爲一個家庭建築公司的表單工作 - 用戶可以在他們的家中指定他們想要的選項。我將表單(formID,姓名,地址,電話等)中的一般信息存儲在名爲'designForm'的表中。處理PHP/CodeIgniter格式的附加信息表單並存儲在MySQL中
我有另一個名爲'designOptions'的表,它包含住宅可用的每個選項(optionID,optionLocation,optionName,optionDescription)。
還有一個叫「FormOptions」將保持其形式(formID,optionID)
在表格上選擇的每個選項的記錄表,每一個選項是一個複選框與它的值表示設置爲optionID。某些選項複選框顯示額外的輸入或選中字段。附加信息將不是始終是相同的。有時它是天花板高度,其他時間可能是淋浴大小或其他。以下是一些例子。
<span class="additional-info-wrap">
<label class="checkbox-inline">
<input type="checkbox" name="options[]" value="38">Whirlpool Tub
</label>
<div class="additional-info hide">
<select class="form-control" name="masterBathWhirlpoolSize">
<option value="None Specified">None Specified</option>
<option value="3'x5'">3'x5'</option>
<option value="3'x6'">3'x6'</option>
<option value="4'x6'">4'x6'</option>
<option value="5'x5' Corner Unit">5'x5' Corner Unit</option>
</select>
</div>
</span>
<span class="additional-info-wrap">
<label class="checkbox-inline">
<input type="checkbox" name="options[]" value="39">Shower/Tub
</label>
<div class="additional-info hide">
<select class="form-control" name="masterBathTubSize">
<option value="None Specified">None Specified</option>
<option value="3'x5'">3'x5'</option>
<option value="3'x6'">3'x6'</option>
</select>
</div>
</span>
<span class="additional-info-wrap">
<label class="checkbox-inline">
<input type="checkbox" name="options[]" value="46">Dining Room
</label>
<div class="additional-info hide">
<input type="number" name="roomsDiningHeight" placeholder="Ceiling Height" class="form-control" disabled="">
</div>
</span>
<span class="additional-info-wrap">
<label class="checkbox-inline">
<input type="checkbox" name="options[]" value="47">Family Room/Great Room
</label>
<div class="additional-info hide">
<input type="number" name="roomsFamilyHeight" placeholder="Ceiling Height" class="form-control" disabled="">
</div>
</span>
使用笨,我插入基本形式的數據到「designForm」字段,搶formID,然後處理選項陣列以下:
$options = $this->input->post('options');
foreach ($options as $option){
$option_data = array(
'optionID' =>($option),
'formID' =>($form_id)
);
}
我的問題是:什麼處理用戶選中複選框時顯示的附加信息的最佳方式是什麼?我正在尋求命名HTML(多維數組?)中的字段的最佳方法,處理PHP/CodeIgniter中的字段,然後將它們存儲在MySQL DB中。
我希望能夠在'FormOptions'表中存儲額外的信息字段的名稱和值,但我不確定這是否合理,或者我會如何去做。這些字段中的信息確實適用於特定的選項,所以我不認爲將它們存儲在'designForm'表中是有意義的。