基本上我在学生数据库上工作并遇到以下问题: 加载学生表单时,会将所有学生姓名加载到选择列表中。每当我从列表中选择一名学生时,我都会显示学生的详细信息。下面是我到目前为止所做的,但是当我点击列表中的某个项目时,它只会保留一个名称,或者 - 选择学生 - 选项,但会显示下面的学生信息。
这是我到目前为止所拥有的。
<form name="list_student" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]); ?>" method="post">
<p><select name="names[]">
<option>--- Select Student ---</option>
<?php $students = list_students();
foreach ($students as $student){
echo '<option value="'.$student['studentID'].'" onclick="document.forms.list_student.submit()"> '.$student['firstName'].'</option>';
}
?>
</select>
</form>
<?php
if ($_SERVER['REQUEST_METHOD']==='POST') {
foreach($_POST['names'] as $selectedOption){
$student = get_student($selectedOption);
echo "Student Name : ".$student['firstName']." ".$student['lastName']."<br />";
echo "Address : ".$student['address']."<br />";
echo "Telephone : ".$student['telephone']."<br />";
echo "E-mail Address : ".$student['email']."<br />";
echo $student['studentID'];
}
}
?>
我真的希望有人可以帮助我。 谢谢。
答案 0 :(得分:0)
你应该在每个选项上的select而不是onclick事件上尝试onchange事件。
答案 1 :(得分:0)
我假设选择框不是多下拉列表。对您的代码进行以下更改:
echo '<option' .$_POST[names][0] ==$student['studentID']? 'selected': ''. ' value="'.$student['studentID'].'" onclick="document.forms.list_student.submit()"> '.$student['firstName'].'</option>'
您只需将selected
属性添加到所选选项即可。请注意我的代码可能不会像我在代码中假设的那样完全运行,但您可以了解您需要的内容。