首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我是否应该在表单中使用mysql枚举进行动态下拉列表?

问我是否应该在表单中使用mysql枚举进行动态下拉列表?
EN

Stack Overflow用户
提问于 2013-07-12 03:31:11
回答 1查看 521关注 0票数 0

我在我的表单中有几个下拉字段,我需要添加一个"add new“选项,以便用户将另一个选项添加到列表中。在mysql中,这些下拉列表当前的类型是枚举。我使用php和jQuery ajax来捕获表单上的新选项。现在,我需要将捕获的选项永久添加到下拉列表中。我应该编写php向字段中添加枚举选项,还是应该在mysql中不使用类型枚举?如果是前者,有没有比这里的答案更好的方法:MySQL add fields to an Enum来做这件事?我正在使用Codeigniter,并希望在我的数据模型中添加一个函数来添加该选项。类似于:

代码语言:javascript
复制
<?php

function add_option_to_dropdown($field, $option)
{


}
EN

回答 1

Stack Overflow用户

发布于 2013-12-20 10:12:55

听起来这个下拉列表的值可能会频繁更改,因此我不会使用ENUM类型。更适合此目的的是一个表,其中存储了所有下拉菜单的选项。例如,您可以创建一个名为dropdown_options的表,该表具有:

  • An id column
  • A dropdown_id column
  • A option_value column
  • A option_text column

这样,要获取下拉列表的值,您只需执行以下操作:

代码语言:javascript
复制
SELECT * FROM dropdown_options WHERE dropdown_id = 1;

其中dropdown_id是您正在生成的下拉列表的id。要添加新的下拉值,只需执行以下操作:

代码语言:javascript
复制
INSERT INTO dropdown_options (dropdown_id, option_value, option_text)
VALUES (1, "apple", "Apple");

或者在CodeIgniter中:

代码语言:javascript
复制
$data = array(
    'dropdown_id' => '1',
    'option_value' => 'apple',
    'option_text' => 'Apple');
$this->db->insert('dropdown_options', $data);

比更改枚举的值简单得多!

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17601823

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档