问答题 有kwgl数据库,存放习题中所提及的数据表。kwgl数据库中有学生表(student)、系别表(dept):student:{sid,sname,score,depmo}(字段说明:学号,姓名,成绩,系别编号)dept:{deptno,deptname}(字段说明:系别编号,系名称)。
在 下有一个sj3.php页面,如图1所示。

初始情况下(即直接访问sj3.php时),显示出deptno = 10001的院系。然后,在下拉框中列出所有院系的名称(depmame),在单击提交按钮时,根据用户的选择,使用Get方式,再次将请求发送到本页面进行服务器端处理,根据Get中参数deptno指定的院系编号,检索student表,列出指定院系所有学生的学号和成绩;在此响应中,需保持下拉框中院系的选择情况与用户提交时的选择情况一致。如图2所示。
【正确答案】
【答案解析】sj.php如下:
<?php
if(isset($_GET["dept"]))
$deptno=$_GET["dept"];
else
$deptno= "10001";
// **********found**********
$con=[ mysql connect ]("localhost:3306","root","")
or die("数据库服务器连接失败!<br>");
// **********found**********
mysql_select_db("kwgl",[ $con ]) or die( "数据库选择失败!<br>");
// **********found**********
$sql_student="SELECT sid,score FROM student WHERE ______ deptname=[ "$dept" ]";
$result_student=mysql_query($sql_student,$con);
$sql_dept="SELECT deptno,deptname FROM dept";
$result_dept=mysql_query($sql_dept,$con);
?>
<form action="sj3.php" method="GET">
请选择一个系:
<select name="dept">
<?php
// **********found**********
while($rows_dept=[ mysql fetch array ]($result_dept)){
?>
<option value="<?php echo $rows_dept[0];?>"
<?php if($rows_dept[0]==$deptno) echo "selected="selected"" ?>

<?php echo $rows_dept[1];?>
</option>
<?php
}
?>
</select>
<!--// **********found********** -->
<input type=" [ submit ]"/>
</form>
<table border="1px">
<tr>
<td>学号</td>
<td>成绩</td>
</tr>
<?php
while($rows_student=mysql_fetch_array($result_student)){
?>
<tr>
<td><?php echo $rows_student[0];?></td>
<td><?php echo $rows_student[1];?></td>
</tr>
<?php
}
mysql_close($con);
?>
</table>