日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > php >内容正文

php

基于php的选课系统设计(含源文件)

發布時間:2025/3/15 php 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 基于php的选课系统设计(含源文件) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

歡迎添加微信互相交流學習哦!

項目源碼:https://gitee.com/oklongmm/biye

摘要:本文以一個具體的應用系統—學生選課信息系統的設計與實現來說明如何利用b/s技術和php技術來設計和構建web應用。b/s技術技術的使用能提高開發效率,增加系統的易維護性。并用到了以 thinkPHP為基礎的框架編程技術和以mysql為基礎的數據庫應用技術。

?

?

?

關鍵詞: B/S技術; PHP;WEB應用;MVC技術。

?

?

?

?

?

Abstract:In this paper, a specific application - Student Elective Information System Design and Implementation to illustrate how to use the b / s technology and php techniques to design and build web applications. b / s technology, the use of technology can improve development efficiency, increase system maintainability. And the use of the thinkPHP-based framework with programming techniques and mysql-based database application technology.

?

?

?

?

KeywordsB/S technology; PHP; WEB applications; MVC technology

?

?

?

?

?

?

?

?

?

?

1引言:

現在信息管理系統軟件的開發,采用b/s技術可以提高效

率,這樣可以極大的提高開發效率,保證系統開發的易維護性。Php又是一個開源免費流行的動態web編程技術,本文用b/s技術和php技術來設計和實現一個系統。

?

?

2系統分析

本系統設計為學生通過網頁登陸學校網站,進行選課,管理老師也可以通過網頁登陸進行管理和發布課程,管理員賬號用于學生賬號和老師賬號的管制,并且一般的計算機都有瀏覽器終端,很方便實用。Apache+Php+mysl服務器系統可移植性強,搭建方便,開源免費。

?

?

2.1下面用例圖來說明該系統要實現的功能

?

?

?

?

?

?

?

2.2系統總體結構

本系統采用三層體系結構,分為表示層,事務處理層,數據存
儲層。三層結構層次清晰,易維護。

表示層:有每個用戶用的pc機上的瀏覽器向用戶提供圖形界面,操作選項等,供用戶選擇,使用。Pc機一端連接用戶,一段連接網絡另一端的服務器。

事務處理層:事務處理層由Apache+php動態服務器完成,Apache+php動態服務器按照事先編好的php腳本,處理分別來自pc機用戶端和數據庫的數據往來。

數據存儲層:數據存儲層由mysql數據庫完成,負責保存和高效回應來自服務器的請求。使數據實現有組織的高效管理。

?

3 模塊的設計和實現

在php的基礎上應用thinkphp框架結構實現,實現程序的模塊化,控制器和網頁的模板化。

部分模塊實例:
<?php

//以下為后臺模塊的操作

class IndexAction extends Action{????????? //繼承有thinkphp提供的控制基礎類

??? function _initialize(){??? //初始化模塊

??? ?? header("Content-type:text/html;charset=utf-8");

??? }

??? function index(){?????????? //入口模塊

??????? $url=U("login");

??? ?? header("Location:$url");

??? }

??? function login(){????? //登錄模塊

??? ?? $this->display();

??? }

??? function check_logined(){??? //檢測是否已經登錄,注意跟下面的判斷是否登錄成功是不同的,這個要調用在各個頁面中。

??? ?? session_start();

??? ?? $user=M('Admin');

??? ?? $condition['username']=$_SESSION['username'];

??? ?? $us=$user->where($condition)->find();

??????? if(!$us){$url=U('login');$this->assign("jumpUrl",$url);$this->error("還未登陸");}

??? }

??? function admin() {???? //后臺管理首頁

??? ?? $this->check_logined();

??? ?? $date=date("Y年m月d日",time());

??? ?? $this->assign(date,$date);

??? ?? $this->assign('username',$_SESSION['username']);

??? ?? $this->display();

?

??? }

??? function siteinfo(){? //后臺管理的首頁信息

??? ?? $this->check_logined();

??? ?? $this->display();

??? }

??? function check_login(){?????? //判斷是否登錄成功

??? ?? session_start();

??? ?? $user=M('Admin');

??? ?? if(!$data=$user->create()){

??? ?????? $this->error("登錄失敗");

??? ?? }

??? ?? $condition['username']=$data['username'];

??? ?? $us=$user->where($condition)->find();

??? ?? if(!$us){ $this->error("用戶名或者密碼錯誤!!");}

??? ?? if($us['password']!=md5($data['password'])){$this->error("用戶名或者密碼錯誤!!");}

??? ?? $_SESSION['username']=$data['username'];

??? ?? $this->assign("jumpUrl",U('admin'));

??? ?? $this->success("登錄成功");

??? }

??? function admin_exit(){????? //退出系統

??? ?? $this->check_logined();

??? ?? unset($_SESSION['username']);

??? ?? $this->assign("jumpUrl",U('login'));

??? ?? $this->success("退出成功");

??? }

??? function manageStuInfo(){???? //管理學生信息

??? ?? $this->check_logined();

??? ?? $stu=M("Student");

??? ?? $count=$stu->count();

??? ?? $listRows=10;

??????? import("ORG.Util.Page");

??????? $p=new Page($count,$listRows);

??????? $limit_options=$p->firstRow.",".$p->listRows;

??? ?? $stu_info=$stu->order("id desc")->limit($limit_options)->findAll();

??? ?? $page=$p->show();

??? ?? $this->assign("page",$page);

??? ?? $this->assign("pagestyle","green-black");

??? ?? $this->assign("stu_info",$stu_info);

??? ?? $this->display();

??? }

??? function editStuInfo(){????? //編輯學生信息

??????????? $this->check_logined();

??????????? $stu=M("Student");

??????????? $id=$_GET['id'];

??????????? if(empty($id))?? $this->error("參數為空");

??????????? $stuInfo=$stu->where("id=$id")->find();

??????????? $checked="";

??????????? if($stuInfo[sex]=="女") $checked="checked";

??????????? $this->assign("checked",$checked);

??????????? $this->assign("stuInfo",$stuInfo);

??????????? $this->display();

??? }

??? function updateStuInfo(){??? //更新學生信息

??????? $this->check_logined();

??????? $stu=M('Student');

??? ?? $id=$_GET['id'];

??? ?? if(!$data=$stu->create()){

??? ?????? $this->error("修改失敗");

??? ?? }

??? ?? if(!$stu->where("id=$id")->save($data)){

??? ?????? $this->error("修改失敗");

??? ?? }

??? ?? $this->success("修改成功");

??? }

??? function deleteStuInfo(){????? //刪除學生信息

? ???? ?$this->check_logined();

??? ?? ?$id=$_GET['id'];

??? ?? ?$condition['id']=$id;

??? ?? ?$stu=M('Student');

??? ?? ?if(!$stu->where($condition)->limit('1')->delete()){

??? ?? ??? $this->error("刪除失敗");

??? ?? ?}

??? ?? ?$selected=M("selected");

??? ?? ?if($selected_info=$selected->where("stu_id=$id")->select()){

??? ?? ??? ?$selected->where("stu_id=$id")->delete();??? //如果這個學生有選課信息,把該學生選課信息刪除掉。

??? ?? ??? ?for($i=0;$i<count($selected_info);$i++){

??? ?? ??? ??? ?$course_id[$i]=$selected_info[$i]['course_id'];

??? ?? ??? ?}

??? ?? ??? ?$course=M("Course");

??? ?? ??? ?$map['id']=array("in",$course_id);

??? ?? ??? ?$course->setDec("selectedMan",$map);?? //并把這個學生選的課的已選人數減少一個。

??? ?? ?}

??? ?? ?$this->success("刪除成功");

……………………?>

?

4數據庫的設計和實現
4.1表設計:

課程表:

學生教師表:

管理員表:

4.2表的實現(包括錄入預設信息)

采用mysql命令,在數據庫查詢中輸入sql命令并運行。

?

SET FOREIGN_KEY_CHECKS=0;

DROP TABLE IF EXISTS `info_admin`;

CREATE TABLE `info_admin` (

? `username` varchar(20) NOT NULL,

? `password` varchar(50) default NULL,

? PRIMARY KEY? (`username`)

) ENGINE=MyISAM DEFAULT CHARSET=gb2312;

?

-- ----------------------------

-- ----------------------------

INSERT INTO `info_admin` VALUES ('admin', '21232f297a57a5a743894a0e4a801fc3');

?

-- ----------------------------

-- ----------------------------

DROP TABLE IF EXISTS `info_course`;

CREATE TABLE `info_course` (

? `id` int(5) NOT NULL auto_increment,

? `no` varchar(50) NOT NULL COMMENT '課程編號',

? `name` varchar(50) NOT NULL COMMENT '課程名',

? `teacher_id` varchar(50) NOT NULL,

? `teacher_name` varchar(50) NOT NULL COMMENT '教師名',

? `selectedMan` int(11) default '0' COMMENT '已選人數',

? `capacity` int(11) default NULL COMMENT '容量',

? `time` varchar(50) default NULL COMMENT '上課時間',

? `place` varchar(50) default NULL COMMENT '上課地點',

? `credit` float default NULL COMMENT '學分',

? PRIMARY KEY? (`id`)

) ENGINE=MyISAM AUTO_INCREMENT=4 DEFAULT CHARSET=gb2312;

?

-- ----------------------------

-- ----------------------------

INSERT INTO `info_course` VALUES ('2', '1', 'php', '123', '葉喜民', '0', '2', '星期一,1--2', '6521', '2');

INSERT INTO `info_course` VALUES ('3', '2', 'linux', '123', '葉喜民', '0', '2', '星期一,2--3', '6512', '3');

?

-- ----------------------------

-- Table structure for info_selected

-- ----------------------------

DROP TABLE IF EXISTS `info_selected`;

CREATE TABLE `info_selected` (

? `stu_id` varchar(50) NOT NULL,

? `course_id` int(11) NOT NULL,

? PRIMARY KEY? (`stu_id`,`course_id`)

) ENGINE=MyISAM DEFAULT CHARSET=gb2312;

?

-- ----------------------------

-- ----------------------------

?

-- ----------------------------

-- ----------------------------

DROP TABLE IF EXISTS `info_student`;

CREATE TABLE `info_student` (

? `id` varchar(50) NOT NULL COMMENT '學號',

? `name` varchar(20) NOT NULL COMMENT '姓名',

? `dept` varchar(40) NOT NULL COMMENT '系名',

? `major` varchar(40) NOT NULL COMMENT '專業',

? `sex` char(4) NOT NULL COMMENT '性別',

? `class` varchar(20) NOT NULL COMMENT '班級',

? `password` varchar(50) NOT NULL default 'e10adc3949ba59abbe56e057f20f883e' COMMENT '密碼',

? PRIMARY KEY? (`id`)

) ENGINE=MyISAM DEFAULT CHARSET=gb2312;

?

-- ----------------------------

-- ----------------------------

INSERT INTO `info_student` VALUES ('123', '李勇', '計科系', '網絡', '男', '1', 'e10adc3949ba59abbe56e057f20f883e');

?

-- ----------------------------

-- ----------------------------

DROP TABLE IF EXISTS `info_teacher`;

CREATE TABLE `info_teacher` (

? `id` varchar(50) NOT NULL COMMENT '工號',

? `name` varchar(20) NOT NULL COMMENT '姓名',

? `dept` varchar(40) default NULL COMMENT '系名',

? `sex` char(4) default NULL COMMENT '性別',

? `zhicheng` varchar(30) default NULL COMMENT '職稱',

? `password` varchar(50) NOT NULL default 'e10adc3949ba59abbe56e057f20f883e' COMMENT '密碼',

? PRIMARY KEY? (`id`)

) ENGINE=MyISAM DEFAULT CHARSET=gb2312;

?

-- ----------------------------

-- ----------------------------

INSERT INTO `info_teacher` VALUES ('123', '葉喜民', '新鄉', '男', '輔導老師', 'e10adc3949ba59abbe56e057f20f883e');

5 部署和運行

5.1部署環境

以windows系統為例,現在系統創建Apache+php+mysql服務環境,推薦使用套件,方面快捷!~

?

5.2 安裝文件

先將所有5.3 創建數據庫

創建一個名為test編碼為utf的數據庫 ,將目錄里database.sql文件導入test數據庫

?

5.4 測試

學生和教師入口:http://localhost/index.php/Home/index

? ? 管理員入口:http://localhost/index.php/Admin/index

? ? 管理員賬號密碼均為admin? 預設老師學生賬號均為~ 賬號:123 密碼:123456

? 測試成功運行~!

?

5.5 運行

添加學生信息,搭建正規服務器,添加dns域名,向學生和教師開放應用!

6結論

基于b/s的技術應用可使用廣泛分布的web資源輕松高效的達到預期目的(利用通用的瀏覽器,省去ui的開發),免費開源的Apache+php+mysql技術可以簡單高效的提供服務器方的支持。mvc技術使得復雜的多層結構應用系統開發變得容易,亦能提高開發人員的效率,降低軟件的開發和維護成本。

?

參考文獻:
[1] (澳)威利 著,武欣 等譯. PHP和MySQL Web開發.北京:機械工業出版社,2009:153~167.

[2] 高洛峰.細說PHP.北京:電子工業出版社,2009:162~234.

[3] www.php100.com

[4] www.csdn.net

[5]《thinkphp手冊簡體中文版》chm版

[6]《php手冊簡體中文版 》chm版

總結

以上是生活随笔為你收集整理的基于php的选课系统设计(含源文件)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 亚洲巨乳 | 日本色妞 | 免费在线中文字幕 | 少妇中出视频 | 亚洲一区二区高清 | 狠狠躁夜夜躁人人爽视频 | 少妇愉情理伦片bd | 国产在线观| av在线天天 | 在线观看麻豆 | 亚洲国产欧美在线人成 | 色干综合 | 亚洲高清网 | jiz亚洲| 午夜三级影院 | 天天射天天色天天干 | 日日干夜夜操 | 亚洲精品在线播放视频 | 熟女人妻aⅴ一区二区三区60路 | 看黄免费网站 | 99久久精品免费看国产 | 一区二区精品在线观看 | 国产第一页在线 | 四虎国产成人永久精品免费 | 欧美一区三区二区在线观看 | 国产成人精品一二三区 | 精品九九久久 | 91高清无打码 | 色噜噜狠狠成人中文 | 第一福利av| 日韩视频不卡 | 无码任你躁久久久久久久 | 午夜激情视频在线观看 | 亚洲色图综合 | 日韩二三区 | www.我爱av| 国产精品xx | 亚洲欧美日韩色图 | 国产在线麻豆 | 欧美日韩一区二区视频观看 | 日韩一级成人 | 亚洲精品国产精品乱码 | 老司机深夜免费福利 | 白石茉莉奈黑人 | 想要xx视频 | 在线视频99| 天堂网avav| 中文字幕 视频一区 | 国产成人一区二区 | 国产噜噜噜噜噜久久久久久久久 | 亚洲一区二区不卡在线观看 | 稀缺呦国内精品呦 | 亚洲欧美日韩一区二区三区在线观看 | 天堂新版8中文在线8 | 一区二区视频免费看 | 99精品一级欧美片免费播放 | 久久99国产综合精品免费 | 制服丝袜av一区二区三区下载 | 午夜国产在线观看 | h无码动漫在线观看 | 久久久久久久福利 | 草莓视频一区二区三区 | 日本不卡视频一区二区三区 | 国产亚洲精品成人无码精品网站 | 91麻豆产精品久久久久久夏晴子 | 天天色网站 | www.久久伊人| 国产精品无码永久免费不卡 | 国产免费av网址 | 国产96视频| 国产在线视视频有精品 | 91精产国品一二三区在线观看 | 99热国产在线观看 | 国产成人精品免费看视频 | 午夜影院毛片 | 极品白嫩少妇无套内谢 | 久久在线观看 | 久久久老熟女一区二区三区91 | 久久天天躁狠狠躁夜夜躁 | 在线成人中文字幕 | 91麻豆国产在线 | 人人看人人插 | 91香蕉视频在线看 | 中国毛片网站 | 永久免费未满 | av电影一区二区三区 | 天堂久久av | 一区二区三区在线播放 | 黑人vs日本人ⅹxxxhd | 插插插av | 天天综合网久久综合网 | 性感美女视频一二三 | 青青草原一区二区 | 日本视频在线免费 | 精品日本一区二区三区在线观看 | 亚洲影院一区 | 国产av人人夜夜澡人人爽麻豆 | 国产成人精品久久二区二区91 | 深夜精品视频 |