一、学生考试信息录入

1、首先数据库中要有两个表,student 、score;

表结构可以看一下

student  学生基本信息表

score 分数表

2、学生信息表中手动录入所有学生信息基本信息

3、展示学生考试成绩录入视图页面, 为了使用者录入学生考试成绩方便,首先查询出学生基本信息采用表格形式提交,代码如下:

<?php
header("content-type:text/html;charset=utf-8");
$con=mysqli_connect('127.0.0.1','root','root','lening');
$sql="select * from student";
$res=mysqli_query($con,$sql);
while($arr=mysqli_fetch_assoc($res)){$data[]=$arr;
};
foreach($data as $k=>$v){$data[$k]['stu_age']=date('Y')-date('Y',strtotime($v['stu_age']));
}
?>
<form action="score_do.php" method="post"><table border="1"><tr><th>序号</th><th>姓名</th><th>入学时间</th><th>性别</th><th>年龄</th><th>是否毕业</th><th>分数</th><th>考试时间</th></tr><?php foreach($data as $k=>$v){?><tr><td><?php echo $v['stu_id']?></td><td><?php echo $v['stu_name']?></td><td><?php echo $v['stu_time']?></td><td><?php echo $v['stu_sex']?></td><td><?php echo $v['stu_age']?></td><td><?php echo $v['is_graduate']?></td><td><input type="hidden" value="<?php echo $v['stu_id']?>" name="stu_id[]"><input type="text" placeholder="请输入分数" name="score[]"></td><td><input type="date" placeholder="请输入考试时间" name="ctime[]"></td></tr><?php }?><tr><td colspan="8"><input type="submit" value="添加"><input type="reset"></td></tr></table>
</form>

效果视图:

4、接值处理入库:

<?php
header('content-type:text/html;charset=UTF-8');
include_once 'Db.class.php';
$arr=$_POST;
if(!empty($arr)){foreach($arr as $key=>$item){foreach($item as $k=>$v){$data[$k][$key]=$v;}}$db=new Db();foreach($data as $k=>$v){if($v['score']!=''&&$v['ctime']!=''){$res=$db->add('score',$v);}}if($res){echo "添加成功";header("refresh:1;url='scoreList.php'");}else{echo "添加失败";header("refresh:1;url='score.php'");}
}

5、入库后是列表展示

(1)列表展示中具有姓名查询功能

(2)分数段查询功能

<?php
header('content-type:text/html;charset=utf8');
$con=mysqli_connect('127.0.0.1','root','root','lening');
$sql="select * from score join student on score.stu_id=student.stu_id";
$res=mysqli_query($con,$sql);
while($arr=mysqli_fetch_assoc($res)){$data[]=$arr;
};
//print_r($data);exit;
?>
<input type="text" id="keyword">
<input type="button" value="按姓名查找" οnclick="search()">
<select id="type"><option value="<"><</option><option value="=">=</option><option value=">">></option>
</select>
<select id="score"><?php for($i=1;$i<101;$i++){?><option value="<?php echo $i;?>"><?php echo $i;?></option><?php }?>
</select>
<input type="button" value="按分数查找" οnclick="scoreSearch()">
<table border="1" id="show"><tr><th>姓名</th><th>分数</th><th>考试时间</th></tr><?php foreach($data as $k=>$v){?><tr><td><?php echo $v['stu_name']?></td><td><?php echo $v['score']?></td><td><?php echo $v['ctime']?></td></tr><?php }?>
</table>

查询功能运用ajax具体js代码如下:

<script>/** 按姓名查找 */function search(){var keyword=document.getElementById('keyword').value;//创建ajax对象var xhr=new XMLHttpRequest();//回调函数xhr.onreadystatechange=function(){if(xhr.readyState==4&&xhr.status==200){//接受响应//console.log(xhr.responseText);document.getElementById('show').innerHTML=(xhr.responseText);}}//请求页面xhr.open('get','search.php?stu_name='+keyword);//发送xhr.send(null);}/** 按分数查找 */function scoreSearch(){var type=document.getElementById('type').value;var keyword=document.getElementById('score').value;//创建ajax对象var xhr=new XMLHttpRequest();//回调函数xhr.onreadystatechange=function(){if(xhr.readyState==4&&xhr.status==200){//接受响应
//                console.log(xhr.responseText);document.getElementById('show').innerHTML=(xhr.responseText);}}//请求页面xhr.open('get','searchScore.php?score='+keyword+'&type='+type);//发送xhr.send(null);}</script>

serach.php页面:

<?php
header("content-type:text/html;charset=utf-8");
$stu_name=empty($_GET['stu_name'])?"":$_GET['stu_name'];
$con=mysqli_connect('127.0.0.1','root','root','lening') or die('链接数据库失败');
$sql="select * from student join score on score.stu_id=student.stu_id where stu_name='$stu_name'";
$res=mysqli_query($con,$sql);
while($arr1=mysqli_fetch_assoc($res)){$data[]=$arr1;
}
?>
<table border="1"><tr><td>姓名</td><td>分数</td><td>考试时间</td></tr><?php if(empty($data)){ echo "";}else{foreach($data as $k=>$v){?><tr><td><?php echo $v['stu_name']?></td><td><?php echo $v['score']?></td><td><?php echo $v['ctime']?></td></tr><?php }}?>
</table>

searchScore.php页面:

<?php
header("content-type:text/html;charset=utf-8");
$score=empty($_GET['score'])?"":$_GET['score'];
$type=empty($_GET['type'])?"":$_GET['type'];$con=mysqli_connect('127.0.0.1','root','root','lening') or die('链接数据库失败');
if($type=='<'){$sql="select * from student join score on score.stu_id=student.stu_id where score<'$score'";
}else if($type=='>'){$sql="select * from student join score on score.stu_id=student.stu_id where score>'$score'";
}else{$sql="select * from student join score on score.stu_id=student.stu_id where score='$score'";
}
$res=mysqli_query($con,$sql);
while($arr1=mysqli_fetch_assoc($res)){$data[]=$arr1;
}
?>
<table border="1"><tr><td>姓名</td><td>分数</td><td>考试时间</td></tr><?php if(empty($data)){ echo "";}else{foreach($data as $k=>$v){?><tr><td><?php echo $v['stu_name']?></td><td><?php echo $v['score']?></td><td><?php echo $v['ctime']?></td></tr><?php }}?></table>

效果图:

二、最后一次考试成绩查询

(1)时间筛选为最近一次

(2)两表联查,学生考试信息

代码:

<?php
header("content-type:text/html;charset=utf-8");
//链接数据库
$con=mysqli_connect('127.0.0.1','root','root','lening')or die(mysqli_error());
//sql语句
$sqls = "select distinct stu_id from  `score` ";
$result=mysqli_query($con,$sqls);
while($arr=mysqli_fetch_assoc($result)) {$data[]=$arr;}
foreach( $data as $k=>$v){$ids=$v['stu_id'];$sql = "select * from  `student` join `score` on `score`.stu_id=`student`.stu_id  where `score`.stu_id = $ids order by ctime desc limit 1 ";$res=mysqli_query($con,$sql);while($arr1=mysqli_fetch_assoc($res)) {$data1[]=$arr1;}
}
foreach($data1 as $k=>$v){$data1[$k]['stu_age']=date('Y')-date('Y',strtotime($v['stu_age']));
}
//print_r($data1);exit;
?>
<table border="1"><tr><th>学生id</th><th>姓名</th><th>性别</th><th>年龄</th><th>分数</th><th>入学时间</th><th>考试时间</th><th>点击发送邮箱</th></tr><?php foreach ($data1 as $k => $v) { ?><tr><td><?php echo $v['stu_id'];?></td><td><?php echo $v['stu_name'];?></td><td><?php echo $v['stu_sex'];?></td><td><?php echo $v['stu_age'];?></td><td><?php echo $v['score'];?></td><td><?php echo $v['stu_time'];?></td><td><?php echo $v['ctime'];?></td><td><input type="button" value="发送家长" οnclick="send(<?php echo $v['id']?>)"></td></tr><?php } ?>
</table>

效果图:

目前此博客优点是:成绩录入更加人性化,用户使用更加快捷,减少了多次提交

不足:功能单一

学生考试信息录入和最近一次考试成绩查询平台相关推荐

  1. 编写一段程序录入 N 个学生的信息包括姓名、性别、年龄和成绩;要求:1.按照成绩由小到大的顺序输出,如果成绩相同则按学号由小到大的顺序输出;2.计算 N 个学生成绩的平均值;

    题目和要求: 编写一段程序录入 N 个学生的信息包括姓名.性别.年龄和成绩: 要求:1.按照成绩由小到大的顺序输出,如果成绩相同则按年龄由小到大的顺序 输出: 2.计算 N 个学生成绩的平均值: 注: ...

  2. javase(Properties集合及学生对象信息录入文本中案例)

    1.Properties集合 Properties和IO流的结合使用 1 public void load(Reader reader) 2 public void store(Writer writ ...

  3. Java学生个人信息录入

    编写 Java 程序显示学生的个人信息.定义类Student. 该类中应该有三个私有属性:姓名(name),年龄(age),性别(sex) 输入:第一行为一个数,表示录入学生个数 第二行依次为学生姓名 ...

  4. 学生信息录入java,基于java的学生信息管理系统

    基于java的学生信息管理系统中分为多级角色管理:包括系统管理员.学生和老师几种权限,采用了开发技术JSP以及MYSQL数据库作为本系统的开发工具.主要包括新闻模块,考试模块,学生模块,教师模块,选课 ...

  5. 学籍信息管理系统c语言编程,学生学籍信息管理系统C语言设计.doc

    学生学籍信息管理系统C语言设计 学生学籍信息管理系统 目录 1.设计目的与要求 2.总体设计 3.详细设计 4.调试分析 5.总结 6.答辩记录 7.教师意见 8.附录主程序 1.设计目的与要求: 1 ...

  6. C语言编写学生籍贯信息记录簿

    学生籍贯信息记录簿 前言 这是本人第一次写博客,有不足之处请见谅. 本文是利用简单的C语言编写的学生籍贯信息记录簿,写这篇是为了记录学习过程,也为后来者提供一些参考和思路.我使用的平台为Visual ...

  7. (边写边更)用PHP简单的学生个人信息记录程序

    史老师开学前布置的项目,用网页实现学生个人信息的增删查改,寒假时只看完了html和js,jQuery和PHP都处于现学现卖的状态,不过既然没要求交,那就瞎折腾吧. (2016.3.19)目前已实现功能 ...

  8. 求数学系或计算机系姓张的学生的信息,数据库原理实验三 - 图文

    实验三.数据库的简单查询和连接查询实验 班级: 学号: 姓名: 日期:12月18日 1. 实验目的 了解SQL Server 查询分析器的使用方法,加深对SQL和Transact-SQL语言的查询语句 ...

  9. 内蒙古高考2021年成绩查询,内蒙古招生考试信息网:2021年内蒙古高考查分入口、查分系统...

    [摘要]为了方便内蒙古高考考生能及时查询到2021年高考成绩,高考频道特别整理了的内蒙古招生考试信息网2021年内蒙古高考成绩查询入口.查分系统,考生可在成绩公布时直接点击下面的链接进行查分,预祝大家 ...

最新文章

  1. Java并发编程-CountDownLatch
  2. 第十五届全国大学生智能汽车竞赛 车模检查手册
  3. python调用另一个类的返回值_python – 在OpenERP中调用另一个表单的方法返回值
  4. LeetCode Permutations II(有重复元素的全排列)
  5. JSTL(JSP 标准标签库)和EL表达式联合使用时,进行字符的比较
  6. java1.8的特性,java1.8新特性
  7. 第一次参加数学建模竞赛如何夺取一等奖
  8. python决策树id3算法_决策树ID3算法预测隐形眼睛类型--python实现
  9. ASP.NET MVC Action向视图传值之匿名类型
  10. 执行点击事件,第一次点击后,一切正常,第二次点击,执行两次,以此类推
  11. Css颜色和文本字体
  12. Halcon算子学习:xyz_to_object_model_3d
  13. mysql主从数据库同步问题_聊聊MySQL主从数据库同步的那些事儿
  14. 四十个非常实用的轻量级JavaScript库
  15. asp分页类--添加支持重写功能
  16. Git学习小记之分支原理
  17. sql还原数据库备份数据库_有关数据库备份,还原和恢复SQL面试问题–第一部分
  18. 程序员Mac常用软件之效率工具
  19. centos arm-linux-gcc,CentOS 5.5下arm-linux-gcc交叉编译环境的搭建
  20. Kmalloc和Vmalloc的区别

热门文章

  1. 购物中心的运营保障,数衍科技数据桥接服务系统升级
  2. vue 中使用echarts 画对比折线图
  3. a33 linux 硬解码_全志A33 linux led驱动编程(附实测参考代码)
  4. usaco2016open silver3 closing
  5. 什么是“内卷化效应”?
  6. 类的简单名称、类全名、二进制名、全限定名、描述符
  7. Git submodule子模块的使用
  8. 做亚马逊测评现的注意事项有哪些?亚马逊测评靠什么盈利,测评项目揭秘!
  9. IBM DB2 V9 存储过程异常捕获
  10. 量子计算 7 超密编码与量子遥传