夜雨聆风学习资料网

ARTICLE · 1107254

【项目源码】班级学生平时表现记录与积分抽奖系统

【项目源码】班级学生平时表现记录与积分抽奖系统
关注微信公众号:【源码部落】,获取开源项目分享。

一、项目介绍

本系统是一套面向中小学班级日常管理的学生积分考评与抽奖系统,特别针对英语学科场景设计。教师可以通过后台管理学生的平时表现,对学生进行加分或扣分操作;学生端可以查看个人积分排名和积分明细,并使用积分解锁转盘抽奖功能,增强学习趣味性和学生参与感。

系统采用 PHP + MySQL 技术栈开发,前后端一体,部署简单,界面美观,支持响应式布局,可在电脑和手机上正常使用。


二、项目结构目录

├── index.php                  # 前台首页(班级列表入口)├── class_detail.php           # 班级详情页(学生积分卡片排行榜)├── points_ranking.php         # 积分排行榜详情页├── points_rules.php           # 积分规则说明页├── prize_details.php          # 奖品详情页├── get_points_records.php     # 积分记录AJAX接口├── 404.html                   # 404错误页│├── login.php                  # 后台登录页├── logout.php                 # 退出登录├── login_config.php           # 管理员账号配置├── config.php                 # 数据库配置 + 每周自动加分逻辑│├── admin_classes.php          # 后台-班级管理├── admin_students.php         # 后台-学生管理├── admin_points.php           # 后台-积分管理│├── choujiang/                 # 抽奖模块目录│   ├── zhuanpan.html          # 转盘抽奖主页面│   ├── index.html             # 抽奖活动首页│   ├── activity-rules.html    # 活动规则页│   ├── personal-center.html   # 个人中心页│   ├── css/                   # 样式文件│   │   ├── common.css│   │   └── index.css│   ├── js/                    # 脚本文件│   │   ├── jquery-1.11.3.min.js│   │   ├── jquery.rotate.js   # 转盘旋转插件│   │   ├── jquery.SuperSlide.2.1.1.js│   │   ├── h5_game_common.js│   │   └── index.js│   ├── image/                 # 抽奖相关图片资源│   ├── 1.mp3                  # 背景音乐│   └── 31.mp3                 # 音效文件│├── ymbl.cn.sql                # 数据库初始化SQL文件└── 1.jpg ~ 6.jpg              # 奖品展示图片

三、项目主要技术框架

技术/工具
说明
‎后端语言
PHP 5.6+(面向过程 + 函数式编程)
‎数据库
MySQL 5.6+,使用 PDO 扩展进行数据库操作
‎前端基础
HTML5 + CSS3 + 原生 JavaScript
‎前端库
jQuery 1.11.3、jQuery.rotate(转盘旋转动画)
‎UI 风格
渐变背景 + 卡片式布局,Element UI 风格配色(#409eff 主色调)
‎响应式
纯 CSS 媒体查询实现,适配 PC、平板、手机
‎会话管理
PHP Session 实现管理员登录鉴权
‎数据交互
表单提交 + AJAX(fetch API)异步加载积分记录

系统整体采用单体架构,所有页面均为 PHP 动态渲染,没有引入复杂的前端框架,代码结构清晰,便于二次开发和维护。


四、项目主要功能

4.1 前台展示功能

  1. ‎班级列表首页

    • 以卡片形式展示所有班级
    • 点击进入对应班级的积分详情页
  2. ‎学生积分排行榜

    • 卡片式展示所有学生,按积分从高到低排序
    • 支持"从高到低/从低到高"切换排序
    • 前三名显示金/银/铜特殊排名样式
    • 显示学生职务标识(组长/科代表/双职务)
    • 支持点击查看学生个人积分明细记录
  3. ‎积分排行榜详情页

    • 列表式展示完整排名
    • 前十名高亮显示并带奖杯图标
    • 每名学生展示最近 5 条积分记录
  4. ‎积分规则说明页

    • 展示加分和扣分项目明细
    • 说明每周职务加分规则
  5. ‎奖品详情页

    • 展示可兑换的奖品图片和说明

4.2 后台管理功能

  1. ‎管理员登录

    • 账号密码登录,默认账号 ‎admin
    • 登录状态 Session 验证
  2. ‎班级管理

    • 创建新班级,支持一行一个姓名批量导入学生
    • 删除班级(事务级联删除关联学生和积分数据)
    • 班级列表快捷入口(积分管理、学生管理、前台预览)
  3. ‎学生管理

    • 新增单个学生
    • 编辑学生姓名和职务(组长/科代表)
    • 删除学生(级联删除积分记录)
    • 显示学生当前总积分
  4. ‎积分管理

    • 批量选择学生进行加分/扣分
    • 预设常用积分项目(听写A+、课堂发言、作业未交等)
    • 支持自定义分值
    • 全选/取消全选操作

4.3 抽奖功能

  1. ‎转盘抽奖
    • 学生积分达到 10 分可参与抽奖
    • 每次抽奖消耗 10 积分,自动扣减并记录
    • 转盘旋转动画效果
    • 背景音乐和音效,支持音量调节

4.4 自动加分机制

  • 系统每次访问自动检查本周加分情况
  • ‎组长每周自动加 1 分
  • ‎科代表每周自动加 2 分
  • 同一学生兼任多职务可叠加
  • 通过 ‎weekly_points_log 表防止重复加分

五、项目安装和部署

5.1 环境要求

组件
版本要求
PHP
5.6 及以上(需开启 PDO、PDO_mysql 扩展)
MySQL
5.6 及以上
Web 服务器
Apache / Nginx / IIS
浏览器
Chrome、Firefox、Edge、Safari 等现代浏览器

5.2 部署步骤

第一步:上传代码

将所有文件上传到 Web 服务器的网站根目录(如 wwwroot、htdocs 等)。

第二步:创建数据库

  1. 登录 MySQL 数据库管理工具(如 phpMyAdmin、Navicat)
  2. 创建一个新数据库,字符集选择 ‎utf8mb4
  3. 导入项目根目录下的 ‎ymbl.cn.sql 文件,完成数据表创建

第三步:修改数据库配置

打开 config.php 文件,修改数据库连接信息:

$host = 'localhost';      // 数据库地址,一般为 localhost$dbname = '你的数据库名';   // 替换为实际数据库名$username = '数据库用户名'; // 数据库账号$password = '数据库密码';   // 数据库密码

第四步:修改管理员账号密码

打开 login_config.php 文件,修改默认管理员账号:

define('ADMIN_USERNAME', '你的管理员账号');define('ADMIN_PASSWORD', '你的管理员密码');

第五步:访问系统

  • 前台地址:‎http://你的域名/index.php
  • 后台地址:‎http://你的域名/login.php
  • 默认账号:‎admin / ‎33123101(请及时修改)

5.3 注意事项

  1. 建议将 PHP 时区设置为 ‎Asia/Shanghai
  2. 每周自动加分机制在每次访问系统时触发,无需额外配置定时任务
  3. 抽奖功能的奖品和概率可在 ‎choujiang/js/index.js 中调整
  4. 如遇页面乱码,请检查数据库字符集是否为 ‎utf8mb4

这个项目源码获取方式

关注公众号,私信回复:JP11

相关学习资料