python 基于PHP+MySQL的学生在线选课管理系统

64 篇文章 3 订阅

随着教育规模的不断壮大,信息变得越来越多。同时计算机网络技术高速发展,网络管理运用也变得越来越广泛。因此,建立一个B/S结构的学生选课管理系统来管理学校信息,会使管理工作系统化、规范化,也会提高学校形象,提高管理效率
PHP学生在线选课管理系统是一个典型的教务管理系统,它的出现可以帮助学生进行在线选课,可以让教务人员对学生的选课信息管理更加的方便灵活
请添加图片描述
管理人员是本系统内的最高权限用户,他登录之后可以对在线选课管理系统的所有功能进行管理。主要包括。
系统用户管理,管理学生在线选课系统的用户信息。
教师信息管理,管理本系统的内的教师用户信息,
学生信息管理,管理本系统内的学生用户信息。
课程信息管理,查看和管理课程相关信息。
学生选课成绩,查看学生选课之后的成绩内容。
请添加图片描述

教师用户管理

教师用户在登陆之后可以管理和查看自己的个人资料信息。可以发布和管理自己所任教的课程信息,方便学生进行选课。可以查看学生对自己发布课程的选课具体情况,并对学生成绩信息进行管理。

学生用户管理

学生用户在登录之后可以查看和管理自己的个人资料。可以查看教师用户发布的课程信息,并可进行在线选课以及查看自己的选课情况。此外,学生用户还可以查看自己的个人成绩信息。

请添加图片描述
作为选课管理系统,在系统中有学生信息和教师信息以及课程信息需要管理员分类管理。
(1)学生管理:管理员登录系统后可以添加学生,查询学生,修改学生,删除学生信息。
(2)教师管理:管理员登录系统后可以添加教师,查询教师,修改教师,删除教师信息。
(3)课程管理:管理员登录系统后可以登记新的课程信息,查询修改课程信息,删除课程信息.
(4)授课信息管理:管理员登录系统后可以分配课程由哪个老师教授。
(5)班级信息管理:管理员可以在系统其他功能运行前先把班级信息设置好。
(6)选课管理:学生登录系统后可以对课程进行选择。
(7)成绩管理:教师登录系统后,可以查询自己教授的课程并对学生的成绩打分。
(8)系统管理: 修改登录密码,关于系统说明

请添加图片描述
学生选课系统分为管理员,老师,和学生三个模块:
1.管理员包括:添加学生、老师、课程;
2. 老师可以查询自己的授课程信息以及输入所教学生的分数;
3.学生可以进行选课,查看及退选课程。
请添加图片描述

<?php
error_reporting(E_ALL ^ E_NOTICE);

$conn=@mysql_connect("localhost","root","root") or die("数据库链接失败".mysql_error());
mysql_select_db("daizu",$conn) or die("数据库链接失败".mysql_error());
mysql_query('set names utf8');
 
 
//设置时区
date_default_timezone_set('asia/shanghai');
define('SYS_ROOT', str_replace("\\", '/', dirname(__FILE__)));
define('File_ROOT', SYS_ROOT."/upload/");
define('IMG_ROOT', SYS_ROOT . "/upload/");

@extract($_POST);
@extract($_GET);

function getfirst($sql)
{
	$res=mysql_query($sql);
	$rows=mysql_fetch_array($res);
	return $rows;
}
//
function getcount($sql){
	$res=mysql_query($sql);

return mysql_num_rows($res);
}
function get_name($id,$table)
{

	$sql="select * from $table where id='$id'";
	$rows=getfirst($sql);
	return $rows[name];
}
//遍历创建目录
function Remkdir($path) {
	if (!file_exists($path)) {
		Remkdir(dirname($path));
		@mkdir($path, 0777);
	}
}
//上传图片
function upload_image($inputname, $image=null, $type='upimages', $width=440) {
	 $n = time().rand(1000,9999).'.jpg';
	$z = $_FILES[$inputname];
	if ($z && strpos($z['type'], 'image')===0 && $z['error']==0) {
		if (!$image) {
			Remkdir( IMG_ROOT . '/' . "{$type}/" );
			$image = "{$type}/{$n}";
			$path = IMG_ROOT . '/' . $image;

		} else {
			Remkdir( dirname(IMG_ROOT .'/' .$image) );
						$image = "{$type}/{$n}";

			$path = IMG_ROOT . '/' .$image;
		}
//echo $path ;


			move_uploaded_file($z['tmp_name'], $path);

		//echo $image;exit;
		return $image;
	}
	return $image;
}
//获取文件后缀名
function get_extend($file_name)
{
$extend = pathinfo($file_name);
$extend = strtolower($extend["extension"]);
return $extend;
}
//文件上传实现

function upload_file($inputname, $file=null)
{
	$year = date('Y'); $day = date('md');
	$z = $_FILES[$inputname];


	$file_ext=get_extend($z['name']);

	
	$n = time().rand(1000,9999).".".$file_ext;
	if ($z &&  $z['error']==0) {
		if (!$file) {
			Remkdir( File_ROOT . '/' . "{$day}" );
			$file = "{$day}/{$n}";
			$path = File_ROOT . '/' . $file;

		} else {
			Remkdir( File_ROOT . '/' . "{$day}" );
						$file = "{$day}/{$n}";

			$path = File_ROOT . '/' .$file;
		}
//echo $path ;


			move_uploaded_file($z['tmp_name'], $path);

		//echo $file;exit;
		return $file;
	}
	return $file;
}
//分页函数.
function get_pager($url, $param, $count, $page = 1, $size = 10)
{
    $size = intval($size);
    if($size < 1)$size = 10;
    $page = intval($page);
    if($page < 1)$page = 1;
    $count = intval($count);

    $page_count = $count > 0 ? intval(ceil($count / $size)) : 1;
    if ($page > $page_count)$page = $page_count;

    $page_prev  = ($page > 1) ? $page - 1 : 1;
    $page_next  = ($page < $page_count) ? $page + 1 : $page_count;

    $param_url = '?';
    foreach ($param as $key => $value)$param_url .= $key . '=' . $value . '&';

    $pager['url']        = $url;
    $pager['start']      = ($page-1) * $size;
    $pager['page']       = $page;
    $pager['size']       = $size;
    $pager['count']		 = $count;
    $pager['page_count'] = $page_count;

	if($page_count <= '1')
	{
	    $pager['first'] = $pager['prev']  = $pager['next']  = $pager['last']  = '';
	}
	else
	{
		if($page == $page_count)
		{
			$pager['first'] = $url . $param_url . 'page=1';
			$pager['prev']  = $url . $param_url . 'page=' . $page_prev;
			$pager['next']  = '';
			$pager['last']  = '';
		}
		elseif($page_prev == '1' && $page == '1')
		{
			$pager['first'] = '';
			$pager['prev']  = '';
			$pager['next']  = $url . $param_url . 'page=' . $page_next;
			$pager['last']  = $url . $param_url . 'page=' . $page_count;
		}
		else
		{
			$pager['first'] = $url . $param_url . 'page=1';
			$pager['prev']  = $url . $param_url . 'page=' . $page_prev;
			$pager['next']  = $url . $param_url . 'page=' . $page_next;
			$pager['last']  = $url . $param_url . 'page=' . $page_count;
		}
	}
    return $pager;
}
?>


论文从系统的研究意义,需求分析,总体设计,具体实现这几个角度对系统的开发过程进行介绍,重点针对需求分析和总体设计进行详细介绍,同时并对该系统所采用的开发工具及技术进行简单的介绍。
系统是利用php和mysql数据库开发的Web 应用程序。主要针对学生、老师、管理员三种不同用户的需求进行设计,最终实现毕业设计选题网上完成。系统使用起来操作简便快捷,具有管理员发布信息、管理用户、设置系统,学生选择课题、修改个人信息,教师添加课题、确定选题等基本功能。对减轻学生、老师负担,提高选题工作效率,都有显著效果。

关键字:教务管理;教务管理;php;选课;管理系统

目录:
第一章 引言 1
1.1 选题背景 1
1.2 系统功能概况 1
1.3 系统相关技术与环境简介 1
1.3.1 PHP 1
1.3.2 Apache 2
1.3.3 MySQL数据库 3
1.3.4 运行环境 Windows XP 3
1.3.5 WAMP5 3
1.3.6 Dreamweave8 3
1.3.7 EditPlus 4
第二章 需求分析 4
2.1 需求分析的基本任务 4
2.2 系统的性能需求 5
2.3 数据流程分析 5
2.4 系统运行环境 7
第三章 系统总体设计 7
3.1系统的总体框架 7
3.2 模块功能 8
3.2.2学生模块功能 9
3.1.2 管理员模块功能 10
3.2 数据库设计 11
3.2.1数据库概念结构设计 11
3.2.2数据库逻辑结构设计 13
第四章 详细设计 15
4.1 主页面设计 15
4.1.1 学生/教师/管理员登录功能设计 15
4.1.2 学生操作功能设计 17
4.2 管理员页面设计 19
4.3 教师界面设计 19
第五章系统运行测试 20
5.1 运行 20
5.2 测试 20
第六章 总 结 22
参考文献 22

  • 0
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值