您的位置:首页 > 其它

【十二】一个简单的学生成绩管理系统

2017-11-11 20:20 656 查看
需求:定义个数组,用户输入不同的10个成绩,数组代表学生学号

输入学号,打印该学生成绩

输入成绩,打印fai学生学号

统计各个分数阶段下的学生人数

输入学号,删除该学生的成绩

代码:view.php

1 <!-- 前端思路: -->
2 <!-- 1.写多个form表单,因为每次查询的条件不同 -->
3 <!-- 2.在每个表单内,需写一个隐藏表单,便于接收页面判断是要调用哪个功能 -->
4 <html>
5 <head></head>
6 <body>
7 <h1>学生成绩管理系统</h1>
8 <!-- 该表单定义查询成绩的学号 -->
9 <form action="homework.php" method="post">
10     <p>请输入10个学生成绩<input type="text" name="grades"></p><br/>
11     请输入学生学号<input type="text" name="xuehao">
12         <!-- 隐藏表单 -->
13     <input type="hidden" name="doing" value="xh">
14     <input type="submit" value ="查询学号的成绩">
15 </form>
16 <!-- 该表单定义查询成绩的学号 -->
17 <form action="homework.php" method="post">
18         请输入成绩<input type="text" name="chengji">
19             <!-- 隐藏表单 -->
20     <input type="hidden" name="doing" value="cj">
21     <input type="submit" value="查询成绩的学号" >
22 </form>
23 <!-- 该表单用于查询分类成绩(不及格,良好,优秀)有多少个学生 -->
24 <form action="homework.php" method="post">
25     <input type="hidden" name="doing" value="fl">
26     <input type="submit" value="查询成绩分类的整体情况" >
27 </form>
28 <!-- 输入学号,将删除该学生的成绩 -->
29 <form action="homework.php" method="post">
30         请输入学号<input type="text" name="shanchu">
31             <!-- 隐藏表单 -->
32     <input type="hidden" name="doing" value="sc">
33     <input type="submit" value="删除该学号的成绩" >
34 </form>
35 </body>
36 </html>


homework.php

1 <?php
2 // 思路:
3 // 1.先接收隐藏表单所传过来的值
4 // 2.判断是要调去哪一个功能
5     $arr=array(22,45,99,54,2,88);
6     function findgrade($arr,$stuxuehao){
7         return $arr[$stuxuehao];
8     }
9     $doing=$_REQUEST["doing"];
10     if ($doing=='xh') {
11         $stuxuehao=$_REQUEST["xuehao"];
12         echo "学号为".$stuxuehao."的成绩为".findgrade($arr,$stuxuehao);
13     }elseif ($doing=='cj') {
14         $stuchengji=$_REQUEST["chengji"];
15         // 1.用成绩与数组中的数值比较,相等的那个数的下标就是成绩的学号了
16         //2.定义一个变量,标记是否有在数组中查找到该成绩
17         //3.如果该标记值没有被改变,则输入“您查询的成绩没有学号”
18         $flag=false;
19         for ($i=0; $i <count($arr) ; $i++) {
20         if ($stuchengji==$arr[$i]) {
21             echo "您查询的该成绩的学号为".$i;
22             $flag=true;
23         }
24     }
25     if (!$flag) {
26             echo "您查询的成绩没有学号";
27         }
28     }elseif ($doing=="fl") {
29         // 思路:
30         // 1.将成绩的分类定义为一个数组(59分以下不及格,60-69分及格,70-85分良好,86-100分优秀)
31         // 2.遍历老数组的值,将该值与分类成绩做比较
32         // 3.属于哪个分类,哪个分类的value值就+1
33         $arr1=array(0,0,0,0);
34         for ($i=0; $i <count($arr) ; $i++) {
35             if ($arr[$i]>=0 && $arr[$i]<=59) {
36                 $arr1[0]+=1;
37             }elseif ($arr[$i]>=60 && $arr[$i]<=69) {
38                 $arr1[1]+=1;
39             }elseif ($arr[$i]>=70 && $arr[$i]<=85) {
40                 $arr1[2]+=1;
41             }else{
42                 $arr1[3]+=1;
43             }
44         }
45         echo "不及格的人数有".$arr1[0]."<br/>";
46         echo "及格的人数有".$arr1[1]."<br/>";
47         echo "良好的人数有".$arr1[2]."<br/>";
48         echo "优秀的人数有".$arr1[3]."<br/>";
49     }elseif ($doing=="sc") {
50         // 思路:
51         // 1.接收需删除的学号值
52         // 2.删除数组中对应学号值的成绩
53         $stushanchu=$_REQUEST["shanchu"];
54         unset($arr[$stushanchu]);
55         var_dump($arr);
56     }
57 ?>


结果:





练习过程中遇到的难点:

view.php中的13行隐藏表单,纠结了很久到底是怎么传值给别的页面做判断

view.php中多个form

homework.php中的接收参数。

总结:

hidden表单传值通过name来识别,但判断的值为value值。比如$doing=$_REQUEST["doing"]; if ($doing=='xh')

多个form是为了判断点击事件

接收值$_REQUEST["doing"],是使用的[]中括号,而不是()
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: