2012-03-31 97 views
0

一个选项我有例如该下拉列表:插入从下拉列表数据库

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

我在做什么NOW是采取的值(1,2,3 ..)和插入件它到users列中的表age,我怎么知道哪个值属于年龄?我有一张表ages与id和年龄。

我不确定这种方式的必要性,这太复杂了,我认为没有效果。

另一种方法是取一个字符串与年龄,只是把它放在age列,但这种方式是不是动态的,以什么方式我可以检查字符串是从一个年龄?

你说什么? 谢谢。

+0

'if($ value == 1)$ age ='0-13'elsei if ...'这样吗? – safarov 2012-03-31 10:51:24

回答

1

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

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

然后在PHP中使用:

$ _ POST [“年龄”]

+1

并将其包装在表单标签中,如果您尚未这样做。 – 2012-03-31 10:52:15

+0

是 - 已添加到示例代码! – 2012-03-31 10:54:27

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

我认为你可以在表中创建一个属性与enum(1,2,3)事后你可以发送VALU表1中的1,2或3。

优点:你鸵鸟政策需要保存在数据库中的年龄刚刚(1,2,3),您鸵鸟政策需要保存的年龄一额外的表,这也是一个办法(创建三个年龄的表格,然后将年龄栏中的一行相关联)。 Disadvantag:额外的代码(也许),取决于你多久打一次电话以及你的应用程序是如何面向对象的。

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

+0

这是非常不鼓励的,因为如果您编辑您的代码,数据库中的值不匹配。在不同的表格中规范年龄。 – 2012-03-31 10:54:48

+0

编辑代码是什么意思?如果您将值从(1,2,3)更改为(4,5,6),则上述任何给定答案都不会起作用... – 2012-03-31 11:01:58

+1

最好的选择是将年龄存储在不同的表中,如“年龄age_id,value)'并用此表中的值填充select。选择年龄时,它对应于年龄表中的值。这样,你的代码和数据库就不会失去同步。 – 2012-03-31 11:04:27

0

您需要给出选择框“name”属性,通过该属性可以从name属性中获取选择框的值。

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

当你点击提交,代码只写

$age = $_POST['ages']; 

你会从选择框中选择获得时代的价值。

相关问题