我有一个页面,我正在使用下拉菜单。我已经在select标签的name字段中传递了一个变量,其值来自一个数组。
$query1="Select SSAP from project where projname='$project'";
$result=mysql_query($query1);
while($row=mysql_fetch_assoc($result))
{
$ssap = $row['SSAP'];
$query2="Select * from student where SSAP='$ssap'";
$res=mysql_query($query2);
$row1=mysql_fetch_assoc($res);
$name=$row1['name'];
echo $name; ?> <select name="<?php echo $name;?>">
<option value="A"> Exceptional </option>
<option value="B"> Highly Effective </option>
<option value="C"> Effective </option>
<option value="D"> Good </option>
<option value="E"> Not Satisfactory </option>
</select> <br> <?php
}
我需要检索在操作页面上另一个变量中创建的每个select标记的值。
$grade=$_POST[$name];
echo $grade;
第一个代码段工作正常,但我无法获取第二个代码段中的值。
答案 0 :(得分:0)
当提交包含动态名称<select>
的表单时,它是不同的请求,因此尚未设置$name
。
答案 1 :(得分:0)
提交表单后,<select>
名称的评估方式将与<select name="Raj">, <select name="Kiran">, ..........<select name="Sameer">
等一样,具体取决于您在“学生”表格中查询的$name=$row1['name'];
值。此外,您应该考虑到您的查询$query2="Select * from student where SSAP='$ssap'";
可能返回多行,似乎您假设只返回一行。
另请注意,
$_POST
是一个接受参数的关联数组 来自提交HTML的KEY=>VALUE
对。在$_POST
键是的名称 输入形式值中的元素是输入形式中该元素的值
因此,当您的动作脚本中未定义KEY
时,您无法在SUPER GLOBAL $POST
$_POST[$name];
中使用$name
变量作为<Select>
。我建议你在多个var_dump($_POST)
中使用一个命名数组。在您的操作脚本上执行{{1}}。这可能会为你揭示大部分内容。