MySQL真题实战04:查询学生总学分

MySQL-NCRE 飞快学 559浏览

显示效果如下: 查看

文件名保存为 074.php

提示:SQL语句如下

$sql="SELECT SUM(成绩) FROM 选课 WHERE 选课.学号=$XH";

特别提醒: 服务器 120.26.110.124 不支持 ext/mysql方式,请使用 ext/mysqli 方式。

<?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=___________________ ;
	if(!$XH)
		echo "<script>alert('输入不正确!')</script>;";
	else
	{ 
// **********found**********
		$sql="_______________________________________________________";
// **********found**********
		$result=__________________________;
                $row=@mysql_fetch_row($result);
// **********found**********
		if(__________)
			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><span class="STYLE1"><?php echo @$row[___];?> 
    <size="10"></span></td></tr>
</table>
</body>
</html>

练习的配套数据库 SQL文件如下:

--
-- 数据库: `ncre004-xsxk`
--
CREATE DATABASE `ncre004-xsxk` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
USE  `ncre004-xsxk`;
-- --------------------------------------------------------

--
-- 表的结构 `学生`
--

CREATE TABLE IF NOT EXISTS `学生` (
  `学号` char(10) NOT NULL,
  `姓名` varchar(10) DEFAULT NULL,
  `出生日期` date DEFAULT NULL,
  `学院名称` varchar(20) DEFAULT NULL,
  PRIMARY KEY (`学号`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

--
-- 转存表中的数据 `学生`
--

INSERT INTO `学生` (`学号`, `姓名`, `出生日期`, `学院名称`) VALUES
('2010072101', '张三', NULL, '外语学院'),
('2010072102', '李四', NULL, '化工学院'),
('2010072103', '王五', NULL, '信息学院'),
('2010072104', '赵六', NULL, '信息学院'),
('2010072105', '赵英', NULL, '信息学院'),
('2010072106', '赵雄', NULL, '信息学院'),
('2010072107', '张小花', NULL, '外语学院'),
('2010072108', '张小英', NULL, '外语学院'),
('2010072109', '张小花', NULL, '外语学院'),
('2010072110', '张小杰', NULL, '外语学院'),
('2010072111', '李英雄', NULL, '化工学院'),
('2010072112', '李高英', NULL, '化工学院'),
('2010072113', '李高杰', NULL, '化工学院'),
('2010072114', '李高放', NULL, '化工学院'),
('2010072115', '李高学', NULL, '化工学院'),
('2010072151', '丁香一', NULL, '生工学院'),
('2010072152', '姚源一', NULL, '生工学院');

-- --------------------------------------------------------

--
-- 表的结构 `课程`
--

CREATE TABLE IF NOT EXISTS `课程` (
  `课程名称` varchar(20) NOT NULL,
  `课程学分` int(11) DEFAULT NULL,
  PRIMARY KEY (`课程名称`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

--
-- 转存表中的数据 `课程`
--

INSERT INTO `课程` (`课程名称`, `课程学分`) VALUES
('C语言程序设计', 2),
('编译原理', 5),
('操作系统', 4),
('高等数学', 4),
('普通物理', 2),
('普通物理实验', 1),
('软件工程', 3),
('数据结构', 4);

-- --------------------------------------------------------

--
-- 表的结构 `选课`
--

CREATE TABLE IF NOT EXISTS `选课` (
  `课程名称` varchar(20) NOT NULL DEFAULT '',
  `学号` char(10) NOT NULL DEFAULT '',
  `成绩` float DEFAULT NULL,
  PRIMARY KEY (`课程名称`,`学号`),
  KEY `学号` (`学号`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

--
-- 转存表中的数据 `选课`
--

INSERT INTO `选课` (`课程名称`, `学号`, `成绩`) VALUES
('C语言程序设计', '2010072111', 66),
('C语言程序设计', '2010072112', 76),
('C语言程序设计', '2010072113', 86),
('C语言程序设计', '2010072114', 56),
('C语言程序设计', '2010072115', 46),
('编译原理', '2010072102', 82),
('编译原理', '2010072104', 91),
('编译原理', '2010072106', 66),
('编译原理', '2010072108', 71),
('编译原理', '2010072110', 73),
('编译原理', '2010072115', 82),
('操作系统', '2010072101', 81),
('操作系统', '2010072104', 82),
('操作系统', '2010072107', 58),
('操作系统', '2010072110', 61),
('操作系统', '2010072113', 60),
('操作系统', '2010072115', 90),
('高等数学', '2010072106', 61),
('高等数学', '2010072107', 71),
('高等数学', '2010072108', 81),
('高等数学', '2010072109', 51),
('高等数学', '2010072110', 66),
('高等数学', '2010072111', 73),
('高等数学', '2010072112', 74),
('普通物理', '2010072101', 66),
('普通物理', '2010072102', 61),
('普通物理', '2010072103', 62),
('普通物理', '2010072104', 64),
('普通物理', '2010072105', 81),
('普通物理', '2010072106', 82),
('普通物理实验', '2010072101', 76),
('普通物理实验', '2010072102', 51),
('普通物理实验', '2010072103', 72),
('普通物理实验', '2010072104', 74),
('普通物理实验', '2010072105', 71),
('普通物理实验', '2010072106', 72),
('软件工程', '2010072101', 56),
('软件工程', '2010072103', 76),
('软件工程', '2010072105', 86),
('软件工程', '2010072107', 51),
('软件工程', '2010072109', 81),
('软件工程', '2010072111', 83);

--
-- 限制导出的表
--

--
-- 限制表 `选课`
--
ALTER TABLE `选课`
  ADD CONSTRAINT `@9009@8bfe_ibfk_1` 
    FOREIGN KEY (`课程名称`) REFERENCES `课程` (`课程名称`),
  ADD CONSTRAINT `@9009@8bfe_ibfk_2` 
    FOREIGN KEY (`学号`) REFERENCES `学生` (`学号`);