从select选项中获取值和名称

时间:2015-01-19 15:14:25

标签: php

如何将2个值(rate,name)从UI作为单独的列插入到表中

例如。 :

$sql="SELECT code,rate, name FROM price_detail WHERE ref_no='VACC'"; 
  echo "<select   onchange='vaccines(this)' name='student' value='0'>
<option> Select Vaccines Type</option>";
    foreach ($dbh->query($sql) as $row){
        echo "<option value=$row[rate]>$row[name]</option>"; 
                        }
    echo "</select>";

任何建议我需要插入2个字段,如费率和名称

2 个答案:

答案 0 :(得分:0)

是的,你可以,例如:

echo "<select   onchange='vaccines(this)' name='student' value='0'>
<option> Select Vaccines Type</option>";
    foreach ($dbh->query($sql) as $row)
        echo "<option value=\"$row[rate]|$row[name]\">$row[name]</option>"; 

    echo "</select>";

然后,在PHP脚本中:

list($rate, $name) = explode('|', $_POST['student']);

您可以将分隔符更改为您想要的任何字符序列。

答案 1 :(得分:0)

在发布表单后,您需要$row['rate']$row['name']。因此,您需要将它们都指定为value的{​​{1}}属性。

试试这个:

<option>

然后使用list()explode()将它们放入单独的变量中。

尝试:

$sql="SELECT code, rate, name FROM price_detail WHERE ref_no='VACC'"; echo "<select onchange='vaccines(this)' name='student'> <option value='0'>Select Vaccines Type</option>"; foreach ($dbh->query($sql) as $row){ echo "<option value='$row[rate],$row[name]'>$row[name]</option>"; } echo "</select>";

现在,您将获得list($rate,$name) = explode(',',$_POST['student']);中所选选项的费率以及$rate中所选选项的名称。