创建状态下拉列表

时间:2011-09-10 04:08:08

标签: html drop-down-menu

我知道如何创建下拉列表,但是如果你必须创建一个表单,其中一个输入是下拉列表中的状态(双字母单词),我是否只是逐个输入状态或者我应该将状态存储在数据库中?

3 个答案:

答案 0 :(得分:1)

状态列表实际上并没有经常更新,使用数据库来存储它们似乎有些过分。我不知道你的后端技术是什么,但我可能会创建一个State下拉控件(或者你的环境中为控件传递的任何东西),它可以在多个位置使用,因此在极少数情况下你必须修改你的状态列表,它只在一个位置完成。您还可以将状态存储为某种配置系统中的列表,但如果不了解有关堆栈的详细信息,我无法提供更多详细信息。

答案 1 :(得分:0)

我会将列表放在db中,这样如果你想存储引用的id而不是保存状态文本,那么以这种方式管理关系数据库会更容易。

答案 2 :(得分:0)

这是一个奇怪的问题。当然取决于您的项目。

如果您需要性能和速度,请在加载下拉列表时(我假设您的意思是<select />)。然后,您可能希望将它们放入数组形式的单独.php文件中。所以稍后您可以使用foreach()循环它们。这种方法肯定会加载更快,然后从DB加载50个状态。

<强> INC-states.php:

$states = array(
    1 => 'Alabama',
    2 => 'Indiana',
    3 => 'Nevada'
    // etc..
);

生成表单

echo '<select name="states">';
foreach ($states as $key => $state) {
    echo '<option value="' . $key . '">' . $state . '</option>';
}
echo '</select>';

所以发布后你只会保存密钥。稍后您可以通过密钥再次获得正确的状态:

include('inc-states.php')

$user['state'] = 2; // Lets make a default for this example

print $states[$user['state']]; // outputs Indiana

同样基本的想法仍然是DB方法。只有这可能更快..除非您当然希望能够通过某种管理控制台编辑状态。

注意:你实际上只说了两个字符的短代码,但我的示例数组看起来比较完整的标题更漂亮。无论如何,正如您可能知道的那样,您可以将状态置于数组中的任何格式。