資料庫程式設計 – PHP+MySQL 第十三章 專題研討:課程管理系統  上一頁      下一頁

 

13-2 課務綜合管理系統

內容:

  • 13-2-1 系統功能

  • 13-2-2 範例研討:主選單製作

  • 13-2-3 範例研討:新增系所

  • 13-2-4 自我挑戰:更新課程資料

13-2-1 系統功能

吾人期望『課務綜合管理系統』具有下列功能如下:

n   新增學生資料。(11-5-3 )

n   依學號 (選單),刪除學生資料 ( cascade 功能)(11-6-2 )

n   依學號 (選單),更新學生資料。(11-7-2 )

n   新增教師資料。(11-8-1 )

n   依教師姓名 (選單),刪除教師資料 ( cascade 功能)(12-3-3 )

n   依教師姓名 (選單),更新教師資料。(11-8-4 )

n   新增班級資料。(11-8-2 )

n   新增系所資料。(13-2-3 )

n   新增課程資料 (各系全學年課程)(11-5-4 )

n   依系所、課程名稱,更新課程資料。(13-2-4 )

13-2-2 範例研討:主選單製作

(A) 系統功能:mManager.html

請製作『綜合管理系統』的主選單,給課務人員管理系統使用,功能如下: (超連結暫時連結 www.tsnien.idv.tw) (刪除 <刪除課程>)

(B) 程式範例:main.html

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

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<title>課務綜合管理系統</title>

</head>

<body>

        ****************************** <BR>

        ***** 課務綜合管理系統 ****** <BR>

        ****************************** <BR>

        <table width="300" border="1">

        <tr>

                <td><a href = "http://www.tsnien.idv.tw" target="_blank"> 新增學生資料 </a></td>

                <td><a href = "http://www.tsnien.idv.tw" target="_blank"> 更新學生資料 </a></td>

        </tr><tr>

                <td><a href = "http://www.tsnien.idv.tw" target="_blank"> 刪除學生資料 </a></td>

                <td><a href = "http://www.tsnien.idv.tw" target="_blank"> 新增教師資料 </a></td>

        </tr><tr>

                <td><a href = "http://www.tsnien.idv.tw" target="_blank"> 更新教師資料 </a></td>

                <td><a href = "http://www.tsnien.idv.tw" target="_blank"> 刪除教師資料 </a></td>

        </tr><tr>

                <td><a href = "http://www.tsnien.idv.tw" target="_blank"> 新增班級 </a></td>

                <td><a href = "http://www.tsnien.idv.tw" target="_blank"> 新增系所 </a></td>

        </tr><tr>

                <td><a href = "http://www.tsnien.idv.tw" target="_blank"> 新增課程 </a></td>

                <td><a href = "http://www.tsnien.idv.tw" target="_blank"> 更新課程資料 </a></td>

        </tr><tr>

                <td><a href = "http://www.tsnien.idv.tw" target="_blank"> 刪除課程 </a></td>

                <td></td>

        </tr>

</body>

</html>

13-2-3 範例研討:新增系所

(A) 系統功能:addDep

請在 course_db 資料庫上建立一只可供『新增系所』的網頁,期望『表單網頁』如下:

『執行網頁』如下

如果系所編碼重複,則出現下列錯誤訊息:

(B) SQL 系統分析

全校所有系所都錄於 department 表內,其欄位內容表示如下:

n   dep_ID:主鍵。系所編碼,varchar(40)。以 2 位數字表示。(如重複,系統會拒絕執行)

n   dep_name:系別名稱,varchar(40)。可任意指定名稱。

SQL 程式如下:

Insert Into department

values(‘$dep_ID’, ‘$dep_name’)

(C) 網頁製作技巧

依照上述 SQL 分析,網頁規劃如下:

(D) 表單網頁程式範例:addDep-form.html

1

2

3

4

5

6

7

8

9

10

11

12

13

14

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<title>新增系所資料</title>

</head>

<body>

        <p> 新增系所資料</p>

        <form name="表單" method="post" action="addDep-action.php">

       系所編碼(2 位數字) <input name="dep_ID" type="text"><BR><BR>

           系所名稱: <input name="dep_name" type="text"><BR><BR>

       <input type="submit" value="送出">

        </form>

</body>

</html>

(E) 執行網頁程式範例:addDep-action.html

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

<?php

        $dep_ID = $_POST["dep_ID"];

    $dep_name = $_POST["dep_name"];

        $select_db = mysqli_connect("localhost", "root", "12345678", "course_db")

                or die("MySQL 伺服器連結失敗 <br>");

        $sql_query = "insert into department

                values('$dep_ID', '$dep_name')";

        $result = mysqli_query($select_db, $sql_query);

        // 測試新增是否成功

        if (!$result) {

                echo "系所新增失敗,可能系所編碼重複 !! <BR>";

                exit();

        }

        $sql_query = "select *

                from department

                where dep_ID = '$dep_ID'";

        $result = mysqli_query($select_db, $sql_query);

        echo "<p> 新增系所資料如下: </p>";

        // 欄位名稱陣列

        $items = array("系所編碼","系所名稱");

        echo "<table border = '2'><tr align='center'>";

        // 利用 foreach 迴圈印出陣列 $item

        foreach ($items as $value) {

                echo "<td> $value </td>";

        }

        echo "</tr>";

        while($row=mysqli_fetch_row($result)) {

                echo "<tr>";

                for($j=0; $j<mysqli_num_fields($result); $j++) {

                        echo "<td>$row[$j]</td>";

                }

                echo "</tr>";

        }

        echo "</table>";

        mysqli_close($db_link);

?>

13-2-4 自我挑戰:更新課程資料

(A) 系統功能:modCourse

請在 course_db 資料庫上建立一只可供『更新課程資料』的網頁,期望如下:

n   『表單網頁』:可供下拉式選擇系所名稱(系所代碼)與課程名稱,並傳送 dep_ID course_name 給『執行網頁』。

n   『執行網頁』:依照 dep_ID course_name 查詢出該課程資料,修改後傳送給更新網頁。

n   『更新網頁』:更新該筆資料,再查詢該筆資料顯示其結果。

(B) SQL 系統分析

全校各系所所有課程資料都儲存於 all_course 表內,不同系所之間可能有相同的課程名稱,因此需要再利用 dep_ID 查詢出哪一系所的課程,查詢出放置於網頁內提供修改,更新後再回存回去,如下圖所示:

 

主講人:粘添壽博士

course_db 關聯圖

 

資料庫程式設計 - PHP+MySQL: