Html 创建状态下拉列表

Html 创建状态下拉列表,html,drop-down-menu,Html,Drop Down Menu,我知道如何创建下拉列表,但是如果您必须创建一个表单,其中一个输入是下拉列表中的一个状态(两个字母的单词),那么我是一个接一个地输入状态,还是应该将状态存储在数据库中?状态列表确实没有经常更新,而且使用数据库存储它们似乎有点过火。我不知道您的后端技术是什么,但我可能会创建一个状态下拉控件(或您环境中的某个控件传递的任何内容),它可以在多个位置使用,因此在极少数情况下,您必须修改状态列表,它只在一个位置执行。您也可以将状态存储为某种配置系统中的列表,但如果不了解有关堆栈的更多信息,我将无法提供更多详

我知道如何创建下拉列表,但是如果您必须创建一个表单,其中一个输入是下拉列表中的一个状态(两个字母的单词),那么我是一个接一个地输入状态,还是应该将状态存储在数据库中?

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

状态列表确实不会经常更新,而且使用数据库存储它们似乎有些过火。我不知道您的后端技术是什么,但我可能会创建一个状态下拉控件(或您环境中的某个控件传递的任何内容),它可以在多个位置使用,因此在极少数情况下,您必须修改状态列表,它只在一个位置执行。您也可以将状态存储为某种类型的配置系统中的列表,但如果不了解有关堆栈的更多信息,我无法提供更多详细信息。

我会将列表放在数据库中,这样,如果您希望存储id以供参考,而不是保存状态文本,那么通过这种方式管理关系数据库会更容易

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

这是一个有点奇怪的问题。当然,这取决于你的项目

如果您需要性能和速度,在加载下拉列表时(我假设您指的是
)。然后,您可能希望将它们以数组形式放入一个单独的
.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>';
生成表单:

$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>';
DB方法也保留了相同的基本思想。只有这可能更快。。当然,除非您希望能够通过某种管理控制台编辑状态


注意:事实上,您只说了两个字符的短码,但我的示例数组在完整标题下看起来更漂亮。无论如何,正如您可能知道的,您可以将状态以任何格式放入数组中。

这是一个有点奇怪的问题。当然,这取决于你的项目

如果您需要性能和速度,在加载下拉列表时(我假设您指的是
)。然后,您可能希望将它们以数组形式放入一个单独的
.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>';
生成表单:

$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>';
DB方法也保留了相同的基本思想。只有这可能更快。。当然,除非您希望能够通过某种管理控制台编辑状态


注意:事实上,您只说了两个字符的短码,但我的示例数组在完整标题下看起来更漂亮。无论如何,正如您可能知道的,您可以在数组中以任何格式放置状态。

您会使用db进行其他操作吗?嗯……不太可能,我在db中有一个表用于填充下拉列表。。但这似乎是合乎逻辑的,因为用户可以在下拉列表中添加更多选项。我不想为州设置一个表,除非您打算在数据库中使用它用于其他目的。否则就太过分了。你会用数据库做其他事情吗?嗯……不太可能,我在数据库中有一个表,用于填充下拉列表。。但这似乎是合乎逻辑的,因为用户可以在下拉列表中添加更多选项。我不想为州设置一个表,除非您打算在数据库中使用它用于其他目的。否则就太过分了。在表中存储2个字符的状态可能只需要比存储引用查找表的tinyint多一个字节,这意味着无论何时,只要想查看某人选择的状态,就必须加入查找表。在这个简单的例子中,我认为规范化是不可取的。在数据库中,两个字符比一个ID占用更少的空间。与存储一个ID和链接到有两个字母的表相比,存储这两个字母会更快、更简单,使用更少的空间。非常正确,我有一个状态数据库,在该数据库中,我有状态代码、状态全名、ID,拉特,朗,。。。。等等。如果您只使用这两个字母,那么是的,我同意,将它们存储在数据库中是没有意义的,使用id。在表中存储2个字符的状态可能只需要比存储引用查找表的tinyint多一个字节,这意味着任何时候您想要查看某人选择的状态,必须加入到查找表。在这个简单的例子中,我认为规范化是不可取的。在数据库中,两个字符比一个ID占用更少的空间。与存储一个ID和链接到有两个字母的表相比,存储这两个字母会更快、更简单,使用更少的空间。非常正确,我有一个状态数据库,在该数据库中,我有状态代码、状态全名、ID,拉特,朗,。。。。等等。如果您只使用这两个字母,那么是的,我同意,将它们以id存储在数据库中是没有意义的。它是PHP,MySQL在数据库中。在这种情况下,您可以包含()一个包含状态下拉列表的文件。你可以按照Kalle的建议将它们放在一个循环中,它是PHP,MySQL在数据库中。在本例中,你可以包含()一个包含状态下拉列表的文件。你可以按照Kalle的建议把它们放在一个循环中