关于制作学生考试成绩平台!

本文介绍了一个基于PHP的学生信息及成绩管理系统的设计与实现。主要内容包括学生基本信息表与成绩表的结构设计,通过枚举类型限制性别输入,使用日期类型记录年龄变化,并提供了成绩录入、查询与展示等功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

表分析:

表一:学生信息表('studentInfo');

设计表时注意事项:1.性别(enum) 原因:我认为只有两种情况  '男' and '女'   2.年龄(date)  原因:人不是死的,每年都会长大,数据库年龄也得随之变大。

表二:学生分数表('studentScore');

具体实现功能:

1.添加 :学生本次考试情况添加多条,在这里设计到数组的处理:
仅供参考:
# 接收要添加的数据
$data = $_POST;

foreach($data as $k => $v){
    foreach($v as $key => $val){
        $data1[] = $val;
    }
}

foreach($data1 as $value){
    foreach($value as $kkk => $vvv){
        $data2[$kkk][] = $vvv;
    }
}

foreach($data2 as $vvvv){
    if(empty($vvvv[2])){
        unset($vvvv);
    }else{
        $sql = "insert into exam(stu_id,exam_score,exam_time)VALUES('".$vvvv[0]."','".$vvvv[1]."','".$vvvv[2]."')";

        $result = mysqli_query($link,$sql);
    }
}


2.列表展示

    涉及到简单的数据处理,将学生的手机号隐藏中间四位(安全),还有对学生的详细信息及分数查询功能,邮箱发送功能,下面来看看我的列表展示吧。

            数据详细介绍:(列表页默认展示学生的详细信息,如需查询学生得分情况,按照条件进行搜索,如果没有条件将会默认查询班级最近一次考试的得分情况)

下面是列表页条件及sql语句:

# 接收模糊查询的条件
$stuName = $_POST['stuName'];
$choose  = $_POST['choose'];
$number  = $_POST['number'];


# 按照学生名称查询
$where = 1;
if(!empty($stuName)){
    $where .= " and stu_name like '%$stuName%'";
}

# 判断搜索的条件/类型
if($number){
    if($choose == 0){
        $where .= " and exam_score > '$number' order by exam_time desc";
    }

    if($choose == 1){
        $where .= " and exam_score = '$number' order by exam_time desc";
    }

    if($choose == 2){
        $where .= " and exam_score < '$number' order by exam_time desc";
    }
}

# 根据条件查询查询数据 无条件将默认查询全部
if(!empty($where)){
    $link = mysqli_connect('127.0.0.1','root','root','stu');

    $sql = "select * from student join exam on student.stu_id=exam.stu_id where $where";

    $result = mysqli_query($link,$sql);

    $number = mysqli_num_rows($result);

    if($number == 0){
        echo 0;
    }else{

        while($arr = mysqli_fetch_assoc($result)){
            $data['data'][] = $arr;
        }
        echo json_encode($data);
    }
}




        

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值