从下拉列表中插入一个选项到数据库

时间:2012-03-31 10:42:38

标签: php mysql sql

我有这个下拉列表例如:

<p>Your Age:</p>
<select>
    <option value="1">0 - 13</option>
    <option value="2">13+</option>
    <option value="3">18+</option>
</select>

我现在正在做什么是取值(1,2,3 ......)并将其插入users列中的age表,我怎么知道哪个值属于年龄?我有一张表ages,其中包含id和年龄。

我不确定这种方式是否必要,它太复杂而且我认为没有效率。

另一种选择是获取一个带有年龄的字符串,并将其放在age列中,但这种方式动态性较小,我可以用什么方式检查该字符串是否属于年龄?< / p>

你怎么说? 谢谢。

4 个答案:

答案 0 :(得分:2)

您可以设置选项的值以在生成选择字段时匹配选项标记之间的值,也可以在提交时设置查找数组 - 例如

$ageMap = array(
    "1" => "0 - 13",
    "2" => "13+",
    "3" => "18+"
);

// get the value using the posted value from your select field
$ageMap[$_POST["YourAge"]];

答案 1 :(得分:1)

您需要选择一个name属性,然后您可以从PHP中的$ _POST变量中检索,例如。

<form action="your_php_page.php" method="post">
    <select name="age">
        ... 
   </select>
</form>

然后在PHP中使用:

$ _ POST [ '年龄']

答案 2 :(得分:0)

您需要提供选择框“名称”属性,您可以通过该属性从名称属性中获取选择框的值。

<select name="ages">
<option value="1">0 - 13</option>
<option value="2">13+</option>
<option value="3">18+</option>

当你点击提交时,在代码中写一下

$age = $_POST['ages'];

您将从选择框中获得所选年龄的值。

答案 3 :(得分:-1)

我认为您可以使用enum(1,2,3)在表格中创建一个属性,之后您可以向表格发送值1,2或3。

优点:你不需要将年龄保存在数据库中(1,2,3),你不需要来保存额外的表格年龄,这也是一种方式(创建一个三个年龄段的表,然后在年龄列中关联一行)。

缺点:额外代码(可能),取决于您调用它的频率以及应用程序面向对象的方式。

您可以使用if & else检查年龄是多少,并将其保存为全局变量。