gpt4 book ai didi

php - 处理 PHP/CodeIgniter 表单中的附加信息表单字段并存储在 MySQL 中

转载 作者:行者123 更新时间:2023-11-29 21:36:04 25 4
gpt4 key购买 nike

我正在为一家住宅建筑公司制作一个表单 - 用户可以指定他们想要在家中使用的选项。我将表单中的一般信息(formID、姓名、地址、电话等)存储在名为“designForm”的表中。

我有另一个名为“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>

使用 CodeIgniter,我将基本表单数据插入“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”表中是没有意义的。

最佳答案

我通过这种方式解决了与您的问题类似的问题:

我的表单有 N 个字段...我永远不知道我需要发送哪些内容...

我将选项和复选框设置为多维数组。

后来我使用以下方式从表单中获取数据:

$formData = $this->input->post();

结果将是包含表单中所有已发布数据的数组。然后,您可以在 Controller 或对象中管理您需要发送到数据库或电子邮件的方式。

关于php - 处理 PHP/CodeIgniter 表单中的附加信息表单字段并存储在 MySQL 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34908496/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com