PHP 简单案例[7]

  • 本系列PHP 简单案例通过“问题-代码”的方式介绍各类方法,每篇设置2个PHP综合问题,并给出解决方案。

问题1

存有一个 s 3. p h p \mathrm{s} 3 . \mathrm{php} s3.php 文件的简单PHP程序, 是对学生选课数据库 x s x k x \mathrm{sxk} xsxk 设计一个查询学生选修课程的总学分页面, 要求根据学号查询学生的总学分。

问题1代码

<?php
$conn=mysql_connect("localhost","root","") or die("连接失败");	
mysql_select_db("xsxk", $conn) or die("连接数据库失败");
mysql_query("SET NAMES 'gb2312'");
$XH=""
?>
<html >
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<head><title>查询学生学分</title>
<style type="text/css">
<!--
.STYLE1 {font-size: 18px; font-family: "黑体";}
-->
</style>
</head>
<body  bgcolor="D9DFAA">
	<div align="center"><font face="幼圆" size="5" color="#008000">
					<b>查询学生学分</b></font></div><br><br>
<form name="frm1" method="post">
<table width="350" align="center">
<tr><td><span class="STYLE1">学号:</span></td>
	<td><input type="text" name="XH" size="10">	</td>
	<td><input type="submit" name="select" value="查询"></td></tr>
</table>
</form>
<br><br>
<?php
if(isset($_POST['select']))
{
// **********found**********
$XH=$_POST["XH"];
	if(!$XH)
		echo "<script>alert('输入不正确!')</script>;";
	else
	{ 
// **********found**********
		$sql="select sum(课程学分) from 课程,选课 where 选课.学号=$XH and 课程.课程名称=选课.课程名称";
// **********found**********
		$result=mysql_query($sql, $conn)
                $row=@mysql_fetch_row($result);
// **********found**********
		if(!$row)
			echo "<script>alert('无选课记录!')</script>;";
	}
}
?>
<table width="400" align="center">
<caption><font  size=5>查询结果</font></caption><br>
<tr><th><span class="STYLE1">学号</span></th>
    <th><span class="STYLE1">总学分</span></th><tr>
<tr><td align=center><span class="STYLE1"><?php echo $XH;?></span></td>
<!--// **********found**********-->
<td align=center><spanclass="STYLE1"><?php  echo@$row[0];?> 
<size="10"></span></td></tr>
</table>
</body>
</html>

问题2

有 kwgl数据库, 存放试题中所提及的数据表。
kwgl数据库中有学生基本信息表student, 系别表dept。表结构及说明如下: student (sid, sname, score, deptno), 各字段的含义分别是: 学号、姓名、成绩、系别编号。 dept (deptno, deptname), 各字段的含义分别是:系别编号、系名称。

在考生文件夹下有一个sj3.php页面, 如下图所示:
在这里插入图片描述

初始情况下(即直接访问si3.php时), 显示出deptno = 10001 =10001 =10001 的院系。然后, 在下拉框中列出所有院系的名称 (deptname), 在点击提交按钮时, 根据用户的选择, 使用 Get方式, 再次将请求发送到本页面进行服务器端处理, 根据Get中参数deptno指定的院系编号, 检索 student表, 显示指定院系所有学生的学号和成绩; 在此响应中, 需保持下拉框中院系的选择情況与用户提交时的选择情况一致。如下图所示:
在这里插入图片描述

问题2代码

<?php
  if(isset($_GET['dept']))
    $deptno=$_GET['dept'];
  else
    $deptno= '10001';
// **********found**********
  $con=mysql_connect("localhost:3306","root","")
    or die("数据库服务器连接失败!<br>");
mysql_query("set names 'gbk'");
// **********found**********
  mysql_select_db("kwgl",$con) or die( "数据库选择失败!<br>");
// **********found**********
  $sql_student="SELECT sid,score FROM student WHERE deptno=$deptno";
  $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>
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

高山莫衣

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值