我的表单中有几个下拉字段,我需要添加一个"添加新"选项,以便用户向列表中添加另一个选项。在mysql中,这些下拉列表当前属于enum类型。我使用php和jQueryajax来捕获表单上的新选项。现在我需要将捕获的选项永久添加到下拉列表中。我应该编写php来向字段添加enum选项,还是应该放弃在mysql中使用enum类型?如果是前者,有没有比这里的答案更好的方法:MySQL向Enum添加字段来做到这一点?我正在使用Codeigniter,并希望在我的数据模型中添加一个函数来添加选项。类似于:
<?php
function add_option_to_dropdown($field, $option)
{
}
听起来这个下拉列表的值可能会经常更改,因此我不会使用ENUM类型。更适合这个目的的是一个存储所有下拉选项的表。例如,您可以制作一个名为dropdown_options的表,该表包含:
- id列
- dropdown_id列
- option_value列
- option_text列
这样,要获得下拉列表的值,您只需:
SELECT * FROM dropdown_options WHERE dropdown_id = 1;
其中,dropdown_id是您正在生成的下拉列表的id。要添加一个新的下拉值,只需:
INSERT INTO dropdown_options (dropdown_id, option_value, option_text)
VALUES (1, "apple", "Apple");
或者在CodeIgniter中:
$data = array(
'dropdown_id' => '1',
'option_value' => 'apple',
'option_text' => 'Apple');
$this->db->insert('dropdown_options', $data);
比更改枚举的值简单得多!