web课设 thinkphp5+mySQL 简易教学管理系统
教學(xué)管理系統(tǒng)
- 需求
- 結(jié)果展示
- 登錄界面
- 學(xué)生界面
- 教師界面
- 管理員界面
- 數(shù)據(jù)庫設(shè)計(jì)
- E-R圖
- 實(shí)現(xiàn)
- 一、文件創(chuàng)建
- 二、前端界面
- 三、數(shù)據(jù)庫設(shè)置
- 四、控制器
- 五、前端返回信息處理
- ajax簡單入門
需求
結(jié)果展示
登錄界面
學(xué)生界面
教師界面
管理員界面
數(shù)據(jù)庫設(shè)計(jì)
E-R圖
實(shí)現(xiàn)
一、文件創(chuàng)建
在thinkPHP5下的application內(nèi)創(chuàng)建以下三個(gè)文件夾。
在controller文件夾內(nèi)部新建一個(gè)php文件,作為控制器,命名為Signin.php。
在model文件夾內(nèi)創(chuàng)建各個(gè)表所對應(yīng)的模型
在view內(nèi)創(chuàng)建與控制器對應(yīng)的文件夾,命名為signin,在signin文件夾內(nèi)部,創(chuàng)建各個(gè)界面的html文件。以及需要的圖片
二、前端界面
以登錄界面為例。
在調(diào)用控制器函數(shù)時(shí),可以用 {:url(項(xiàng)目名/控制器/函數(shù))},如此調(diào)用。
三、數(shù)據(jù)庫設(shè)置
數(shù)據(jù)庫建表過程略。數(shù)據(jù)庫名稱為student。
在application文件夾內(nèi)有一個(gè)database.php文件,修改其中的信息,以連接mysql。
修改以下信息即可。
在完成以上設(shè)置后,可以直接在表對應(yīng)的model內(nèi),使用方法對完成增刪改查(以student為例)
遇到比較復(fù)雜的情況可以像這樣直接進(jìn)行SQL查詢:
$r 即為查詢的結(jié)果。
student.php
<?phpnamespace app\curricula\model; //curricula可改成你的項(xiàng)目名稱。 use think\Model;class Student extends Model {//根據(jù)學(xué)號(hào)選擇學(xué)生信息public function selStudentById($id) $student = Student::get($id);if ($student) {return true;} elsereturn false;}//增加一名學(xué)生public function addStudent($id, $name, $birth, $sex) //$id,$name,$sex,$brith){if (!$this->selStudentById($id)) {$M = $this;$r = $M->execute("insert into student values('" . (string) $id . "','" . (string) $name . "','" . (string) $birth . "','" . (string) $sex . "')");if ($r)return $this->selAll();elsereturn false;} elsereturn false;}//刪除一名學(xué)生public function delStudent($id) //$id,$name,$sex,$brith){if ($this->selStudentById($id)) {$M = $this;$sql = "delete from student where s_id='" . (string) $id . "'";$r = $M->execute($sql);if ($r) {return $this->selAll();} elsereturn false;}elsereturn false;}//更新學(xué)生信息public function uptStudent($id, $name, $birth, $sex) //$id,$name,$sex,$brith){$flag = false;$M = $this;if ($this->selStudentById($id)) {if ($name && $name != '') {$sql = "update student set s_name='" . (string) $name . "'where s_id='" . (string) $id . "'";$r = $M->execute($sql);$flag = true;}if ($sex && $sex != '') {$sql = "update student set s_sex='" . (string) $sex . "'where s_id='" . (string) $id . "'";$r = $M->execute($sql);$flag = true;}if ($birth && $birth != '') {$sql = "update student set s_birth='" . (string) $birth . "'where s_id='" . (string) $id . "'";$r = $M->execute($sql);$flag = true;}if ($flag)return $this->selAll();elsereturn 2;} elsereturn 1;}//根據(jù)學(xué)生姓名查詢學(xué)生信息public function selStudentByName($name) //$id,$name,$sex,$brith){$M = $this;$r = $M->query("select * from student where s_name='" . $name."'");if ($r)return $r;elsereturn false;}//查詢?nèi)啃畔?/span>public function selAll(){$M = $this;$r = $M->query("select * from student");if ($r) {return $r;} elsereturn false;} }四、控制器
注意點(diǎn):
- 命名空間 namespace app\項(xiàng)目名\控制器文件夾名
- 必須引入幾個(gè)模型的位置,
- 返回時(shí)使用json()包裝數(shù)據(jù)
- 調(diào)用界面時(shí)使用view()函數(shù)
五、前端返回信息處理
前端使用ajax提交并顯示數(shù)據(jù)
ajax簡單入門
//需引入jquery <script src="http://libs.baidu.com/jquery/2.1.4/jquery.min.js"></script> function func() {$.ajax({url: "delXXX", //后端函數(shù)名type: 'GET', //方式GET or POSTdata: { //要交由后端處理的數(shù)據(jù),用逗號(hào)間隔'sid': $("#sid").val(),'cid': $("#cid").val()},success: function (data) //成功返回?cái)?shù)據(jù),data是服務(wù)器端返回的字符串?dāng)?shù)據(jù){ // .......your code}}); //分號(hào)結(jié)束}以學(xué)生按姓名查詢信息為例:
function inquiryStuByName() {if ($("#sname").val() == '') {alert("Empty Input!");return;}$.ajax({url: "selStudentByName",type: 'GET',data: {"sname": $("#sname").val()},success: function (data) { if (!data.status)alert("ERROR");else {var str = style;str += "<Table class='pure-table pure-table-bordered'>";str += "<tr> <td>學(xué)號(hào)</td> <td>姓名</td><td>出生日期</td><td>性別</td></tr>";for (var i = 0; i < data.info.length; i++) {str += '<tr>';str += ("<td>" + data.info[i].s_id + "</td>");str += ("<td>" + data.info[i].s_name + "</td>");str += ("<td>" + data.info[i].s_birth + "</td>");str += ("<td>" + data.info[i].s_sex + "</td>");str += '</tr>';}str += "</Table>"$("#show").html(str);}}});}需要完整代碼可戳我。
總結(jié)
以上是生活随笔為你收集整理的web课设 thinkphp5+mySQL 简易教学管理系统的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: unity android surfac
- 下一篇: 动态规划算法php,php算法学习之动态