我知道如何创建下拉列表,但是如果你必须创建一个表单,其中一个输入是下拉列表中的状态(双字母单词),我是否只是逐个输入状态或者我应该将状态存储在数据库中?
答案 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方法。只有这可能更快..除非您当然希望能够通过某种管理控制台编辑状态。
注意:你实际上只说了两个字符的短代码,但我的示例数组看起来比较完整的标题更漂亮。无论如何,正如您可能知道的那样,您可以将状态置于数组中的任何格式。