我有这个下拉列表例如:
<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>
你怎么说? 谢谢。
答案 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
检查年龄是多少,并将其保存为全局变量。