• python基于PHP+MySQL的综合排课系统


    课表编排是一个涉及到多种因素的典型的组合规划问题,它要保证在课程中安排教师,学生,教室不能产生冲突[13](所谓冲突,就是将需要上不同课程的两个或多个班级安排在了同一地点,同一时间,或为同一老师在同一时间安排了两门或多门课程等情况),并且要满足教师的要求和教室资源等约束条件。
    目前,国内的部分高校仍然采用手工排课的方法。手工排课工作量大,排出来的课表不宜调节。随着我国教育体制改革的深入,学生人数的不断上升,课程设置不断向深度和广度发展,手工排课的缺点越来越突出。由于计算机具有运行速度快,处理能力强等特点,很自然的运用到这一领域中。用计算机进行排课能够快速的得到满足约束条件的可行结果,具有排课时间短,人力省和质量高的优点,不但能使教务人员从繁杂的排课任务中解脱出来,而且对于推进教学的发展也起到非常重要的作用。
    请添加图片描述
    请添加图片描述

    1. PHP综合排课系统登录 ,排课系统教务人员通过自己的账号和密码登录到系统中来对系统进行管理和排课。
    2. 教师信息管理界面,管理人员可以对教师信息进行管理,包括对教师的添加,修改,删除和查询操作。在教室添加页面中输入教师的工号,姓名,密码,出生年月,身份证,性别,职称,照片主角,课程电话等信息,之后点击添加即可添加信息到数据库中。
    3. 课程信息管理界面,本系统是一个排课系统,排课的目标是课程,所以管理人员要对课程进行管理,在课程管理中输入课程名称,学时,学分类型以及备注的内容之后点击添加,添加课程信息到数据库中去。
    4. 教室信息管理,管理人员可以对学校内部的教师信息进行管理。在教室信息管理中输入教师的名称,大小,类型和备注信息之后点击确定添加数据到数据库中。
    5. 排课管理界面,管理人员在设置好了前面的那些数据之后,就可以对课程进行排课了。在排课界面中,管理人员选择对应的星期,节次,班级,教师,课程,所在教室等信息之后点击确定即可对当前情况下的课程进行安排。

    请添加图片描述
    实验排课系统是实验教学管理系统的一部分,它的出现,大大的简化了实验教学人员的排课的工作量。对每一个学校的实验教学而言,新学期开始,首当其冲的任务就是该学期实验课表的安排问题,而课表安排又涉及到班级,教师,实验室,时间等学校方方面面的因素,如何排出一个好且适用的课表,是一项复杂的系统工程,在当今信息技术及计算机网络技术高度发到的今天,充分利用和发挥计算机的优势,将大量复杂的判断和运算交给计算机来做,排课人按照教学计划设置好学校基本情况和排课要求,让计算机排出课表,之后做些适度手工调节。系统主要是解决实验课表的自动编排功能,根据实验教学计划和排课的种种条件,来帮助学校来完成实验课表的编排
    请添加图片描述
    传统的在线排课方式是在线下实体进行的,教师需要到线下进行实际的排课信息,而随着学院智能排课的不断普及,其性能、智能排课的透明化,越来越多的学院也开始出于各种各样的理由而热衷网上发展 ,传统的线下排课模式已经无法满足人们的需求了。
    互联网的产生,带来了网络的再次高速发展,人们的生活得到了翻天覆地的变化。人们可以随时随地的享受互联网带来的方便快捷,在生活工作中的方方面面的需要都能在网络上实现,比如排课、课程表、班级等等。也就是说网络成了人们目前最直接、最方便、最轻松的接入口。
    在当今世界,互联网快速发展的现在,如何利用互联网创造更简单高效的生活,这是我们首要讨论的。需要在线排课信息管理相关网站,一方面使得管理员可以对在线排课的信息进行及时更新和信息化的管理,可以较为容易的获取排课信息、课表信息、教室管理、课程管理、学期管理、班级管理、等等。另一方面教师可以利用互联网更直观的查看排课的相关信息。与传统的排课方式相比,教师排课的方式更加轻松,系统的操作更加的准确,这是一种潜在趋势,或许可以有效加快在线排课的普及情况。

    请添加图片描述
    请添加图片描述

    <?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;
    }
    ?>
    
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59
    • 60
    • 61
    • 62
    • 63
    • 64
    • 65
    • 66
    • 67
    • 68
    • 69
    • 70
    • 71
    • 72
    • 73
    • 74
    • 75
    • 76
    • 77
    • 78
    • 79
    • 80
    • 81
    • 82
    • 83
    • 84
    • 85
    • 86
    • 87
    • 88
    • 89
    • 90
    • 91
    • 92
    • 93
    • 94
    • 95
    • 96
    • 97
    • 98
    • 99
    • 100
    • 101
    • 102
    • 103
    • 104
    • 105
    • 106
    • 107
    • 108
    • 109
    • 110
    • 111
    • 112
    • 113
    • 114
    • 115
    • 116
    • 117
    • 118
    • 119
    • 120
    • 121
    • 122
    • 123
    • 124
    • 125
    • 126
    • 127
    • 128
    • 129
    • 130
    • 131
    • 132
    • 133
    • 134
    • 135
    • 136
    • 137
    • 138
    • 139
    • 140
    • 141
    • 142
    • 143
    • 144
    • 145
    • 146
    • 147
    • 148
    • 149
    • 150
    • 151
    • 152
    • 153
    • 154
    • 155
    • 156
    • 157
    • 158
    • 159
    • 160
    • 161
    • 162
    • 163
    • 164
    • 165
    • 166
    • 167
    • 168

    摘  要I
    ABSTRACTII
    目  录III
    摘  要I
    第1章  导言1
    1.1发展现状1
    1.2系统开发背景1
    1.3本设计的主要内容2
    第2章 关键技术介绍3
    2.1关于 HTML的简介3
    2.2 PHP的技术5
    2.2.1 PHP 的简介5
    2.2.2 PHP开发平台6
    2.2.3 PHP文件的组成7
    2.3 进行访问数据库的实现方法7
    2.4 MYSQL数据库8
    2.4.1 关于MYSQL解释8
    2.4.2MYSQL特点特性9
    2.4.3 MYSQL数据库应用环境9
    2.5APACHE解释10
    第3章 系统分析与设计11
    3.1概述11
    3.2需求的分析11
    3.2.1需求的分析概述11
    3.3 系统设计11
    3.3.1系统功能的设计11
    3.3.2系统的用例分析12
    3.3.3数据库设计13
    第4章 系统实现16
    4.1 网站设计16
    4.1.1登录模块16
    4.1.2管理员主页面模块20
    4.1.3首页模块21
    第5章系统调试跟系统测试22
    5.1 程序的调试22
    5.2 一般程序的调试22
    5.2.1登录测试22
    5.2.2增加测试22
    5.2.3测试查询23
    5.2.4主页面的登录模块测试23
    结  论25
    参考文献26
    致  谢27

  • 相关阅读:
    【python学习】基础篇-常用第三方库-chardet:检测文本文件的编码格式
    云原生下的CI/CD:安装Argo CD
    Elasticsearch索引操作(七)
    在vue的v-for中,key为什么不能用index?
    MongoDB 存储引擎
    20. 从零用Rust编写正反向代理,四层反向代理stream(tcp与udp)实现
    7-3 最低通行费
    产业集群的转型升级需要各个方面的协同转型——以河北吉力宝为例
    MVSNet depthfusion配置流程
    视频监控管理平台/视频汇聚/视频云存储EasyCVR安全检查的相关问题及解决方法3.0
  • 原文地址:https://blog.csdn.net/QQ55318293/article/details/127677136