1. Trang chủ
  2. » Luận Văn - Báo Cáo

Đề tài Xây dựng chương trình quản lý sinh viên với PHP và MySQL

44 2,2K 14

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 44
Dung lượng 2,11 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Bố cục nội dung đề tài gồm có các phần chính sau: Chương 1: Xây dựng cơ sở dữ liệu quản lý sinh viên.. Chương 1: Xây dựng cơ sở dữ liệu quản lý sinh viên.Chương 2: Thiết kế giao diện Web

Trang 1

TRƯỜNG ĐẠI HỌC ĐÀ LẠT

KHOA TOÁN – TIN

˜˜˜

BÀI BÁO BÀI TẬP NHÓM

Đề tài 16 : Xây dựng ‘chương trình quản lý sinh viên’ với PHP và MySQL.

Đà Lạt, Ngày 30-04-2010

Trang 2

TRƯỜNG ĐẠI HỌC ĐÀ LẠT

KHOA TOÁN – TIN

˜˜˜

BÀI BÁO BÀI TẬP NHÓM

Đề tài 16 Xây dựng ‘chương trình quản lý sinh viên’ với PHP và MySQL.

Thành viên nhóm

Trần Ngọc Nhật 0712144 Phạm Thị Miền 0713353

Chu Văn Phương 0713362

Nguyễn Xuân Trung 0713376

Lê Thế Trung 0713378

Đà Lạt, Ngày 30-03-2010

Trang 3

LỜI NÓI ĐẦU

Ngày nay,cùng với sự phát triển của khoa học kỹ thuật, các mạng máy tính đã pháttriển một cách nhanh chóng và đa dạng Những ứng dụng, tiện ích từ sự phát triển này hỗtrợ cho con người rất nhiều trong công việc cũng như trong mọi lĩnh vực khác nhau.Trong đó có tiện ích từ Website Do đó Website được nhiều người quan tâm, nghiên cứu

và phát triển

Từ thực tế học tập, yêu cầu quản lý sinh viên của lớp nói riêng và của khoa nóichung Nhóm chúng tôi đã tạo lập một Website động “ Xây Dựng Chương Trình Quản

Lý sinh viên” với các thao tác cơ bản: Nhập, xuất , thêm, xóa, sửa ……

Trong đề tài này chúng tôi sử dụng các ngôn ngữ : HTML, PHP và MySQL.Trongđó: HTML là ngôn ngữ đánh dấu để tạo nên các trang Web PHP là một ngôn ngữ lậptrình kịch bản hay một loại mã lệnh chủ yếu được dùng để phát triển các ứng dụng viếtcho máy chủ, mã nguồn mở, nó rất thích hợp với Web và có thể dễ dàng nhúng vào trangHTML MySQL là hệ quản trị cơ sở dữ liệu mã nguồn mở, nó được sử dụng cho việc bổtrợ PHP, làm nơi lưu trữ thông tin trên trang Web khi viết khi viết bằng PHP

Bố cục nội dung đề tài gồm có các phần chính sau:

Chương 1: Xây dựng cơ sở dữ liệu quản lý sinh viên

Chương 2: Thiết kế giao diện Web

Chương 3: Những thao tác chính

I Giới thiệu class MySQL.php và Xtemplete.php

II Trang index.php

III Trang function.php

VI Trang config.php

V Trang login.php

VI Trang register.php

VII Trang seach.php

VIII Trang hienthi.php

IX Trang hieuchinh.php

X Trang backup.php

XI Trang Ajax

Nhóm chúng tôi xin chân thành cảm ơn thầy Dương Bảo Ninh, người đã hướngdẫn, giúp đỡ chúng tôi hoàn thành đề tài này Do hạn chế về kỹ năng, kiến thức, thời giannên đề tài còn nhiều thiếu sót, rất mong sự góp ý của quý thầy, cô cùng toàn thể các bạn

sinh viên Góp ý xin gửi về: nhóm Đoàn Kết,Lớp TNK31, Khoa Toán – Tin, Đại Học Đà

Lạt hoăc email :

Phamthimientnk31@gmail.com

Trang 5

Chương 1: Xây dựng cơ sở dữ liệu quản lý sinh viên.

Chương 2: Thiết kế giao diện Web

Chương 3: Những thao tác chính

I Giới thiệu class MySQL.php và Xtemplete.php

II Trang index.php

III Trang function.php

VI Trang config.php

V Trang login.php

VI Trang register.php

VII Trang seach.php

VIII Trang hienthi.php

IX Trang hieuchinh.php

X Trang backup.php

XI Trang Ajax

TỔNG KẾT

TÀI LIỆU THAM KHẢO

Phần 1 Xây dựng cơ sở dữ liệu quản lý sinh viên

Trang 6

I Cấu trúc cơ sở dữ liệu

Cơ sở dữ liệu gồm 14 bảng

1 Bảng ngành

MaNghanh varchar(3) NOT NULL,

TenNghanh varchar(30) NOT NULL,

PRIMARY KEY (MaNghanh)

2 Bảng lớp

MaLop varchar(10) NOT NULL,

TenLop varchar(50) default NULL,

NamBD varchar(7) NOT NULL,

NamKT varchar(7) NOT NULL,

MaN varchar(7) NOT NULL,

MaHDT varchar(2) NOT NULL,

PRIMARY KEY (MaLop)

3 Bảng dân tộc

MaDToc varchar(6) NOT NULL,

TenDToc varchar(20) NOT NULL,

PRIMARY KEY (MaDToc)

4 Bảng chính sách

MaCS varchar(4) NOT NULL,

TenCS varchar(20) NOT NULL,

PRIMARY KEY (MaCS)

5 Bảng khu vực

MaKV varchar(6) NOT NULL,

TenKV varchar(20) NOT NULL,

PRIMARY KEY (MaKV)

6 Bảng đối tượng

MaDT varchar(2) NOT NULL,

TenDT varchar(50) NOT NULL

7 Bảng hệ đào tạo

MaHe varchar(2) NOT NULL,

TenHe varchar(10) NOT NULL,

PRIMARY KEY (MaHe)

8 Bảng sinh viên

Mssv varchar(7) NOT NULL,

Trang 7

HoTen varchar(35) NOT NULL,

Image varchar(50) NOT NULL,

NgaySinh date NOT NULL,

Phai varchar(3) NOT NULL,

NoiSinh varchar(50) NOT NULL,

MaLop varchar(10) NOT NULL,

PRIMARY KEY (Mssv)

9 Chi tiết lý lịch

Mssv varchar(7) NOT NULL,

HKTT varchar(200) NOT NULL,

MaDT varchar(6) NOT NULL,

TonGiao varchar(30) NOT NULL,

NgayVDang date NOT NULL,

NgayVDoan date NOT NULL,

NgayVHSV date NOT NULL,

HoTenCha varchar(35) NOT NULL,

NamSinhCha date NOT NULL,

NgheNghiepCha varchar(30) NOT NULL,

HoTenMe varchar(35) NOT NULL,

NamSinhMe date NOT NULL,

NgheNghiepMe varchar(30) NOT NULL,

MaLT varchar(4) NOT NULL,

DiaChi varchar(100) NOT NULL,

SDT varchar(15) NOT NULL,

Email varchar(50) NOT NULL,

DienCS varchar(6) NOT NULL,

PRIMARY KEY (Mssv)

10 Bảng tốt nghiệp

Mssv varchar(10) NOT NULL,

Xeploai varchar(10) NOT NULL,

Namtotnghiep varchar(10) NOT NULL,

PRIMARY KEY (Mssv)

11 Bảng lưu trú

MaLT varchar(4) NOT NULL,

HinhThuc varchar(20) NOT NULL,

Trang 8

PRIMARY KEY (MaLT)

12 Bảng khen thưởng kỷ luật

Mssv varchar(10) NOT NULL,

DiemTB float default NULL,

LyDo varchar(50) NOT NULL,

Hocky int(2) NOT NULL,

Namhoc varchar(15) NOT NULL,

Ma varchar(2) NOT NULL,

PRIMARY KEY (Mssv)

13 Bảng config

Config_name varchar(20),// title cua trang web

Config_value varchar(100), // lượt truy cập trang web

Trang 9

I Giao diện chính của trang web

1 Trang chủ

Trang chủ là giao diện chính của chương trình, ở tại trang này khi có một yêu cầu thì kết quả được hiển thị ngay tại trang chủ

Giao diện của trang chủ

Để thiết kế được giao diện trên ta dùng HTML với sự định dạng của CSS:

Giao diện được thiết kế bằng ngôn ngữ html

a) phần head

<head>

<title>{WEB_TITLE}</title>

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

<link rel="stylesheet" type="text/css" href="{PATH}/style.css" />

</head>

b) phần thân

Trang 10

<img src="{PATH}/images/banner.gif" alt="banner" />

</div><! End #banner >

</div><! End #header >

</div><! End #luottc >

</div><! End #sidebar >

<div class="clear"></div><! End clear >

</div><! End #info >

<div id="list_view"></div><! End #list_view >

<script type="text/javascript">

StartLoad();

</script>

</div><! End #primary >

<div class="clear"></div><! End clear >

</div><! End #content >

<div id="footer">

<ul>

Trang 11

<li><a href="#Introduction">Introduction</a></li>

<li><a href="#About">About US</a></li>

<li><a href="#Contact">Contact US</a></li>

</ul>

<! BOX box_copyright() >

</div><! End #footer >

</div><! End #wrapper >

</body>

Trong quá trình thiết kế chúng tôi sử dụng các mẫu dánh đấu để chèn code vào chương trình nhằm mục đích bảo mật và là cho trang chủ dơn giản, ngắn gọn

Phần 3 Những thao tác kết nối cơ sở dữ liệu và giao diện web

I Class Mysql.php và Class Xtemplate.php

Trang 12

Đây là hai lớp chính do chúng tôi tự định nghĩa và cài đặt bằng ngôn ngữ PHP, nó chứa những đối tượng mà chúng tôi sẽ sử dụng xuyên suốt quá trình thực hiện chương trình.

1.Mysql.php

Định nghĩa lại các hàm của Mysql luôn luôn phù hợp với mọi phiên bản của PHP.Chứa các thủ tục liên kết đến cơ sơ dữ liệu, thực thi câu truy vấn, ghi nhận lỗi trong quátrình làm Được cài đặt như sau:

Hàm này có tác dụng ghi nhận lỗi trong quá trình làm giúp người dùng tiện sửa lỗi

function Connect($Server, $Username, $Password, $Database){

$this->link_id = @mysql_connect($Server, $Username, $Password);

Trang 13

$Query = @mysql_query($Sql, $this->link_id) or $this->Error('Không thể thực hiện được câu truy vấn.<br/>Lỗi : '.mysql_error(),$Sql);

return $Query;

}

Hàm này có chức năng thực thi câu truy vấn

function Fetch_array($Query, $type = MYSQL_BOTH){

var $XTemplate_folder = 'XTemplate';

var $cache = array();

function Get_XTemplate($filename, $box = ''){

Trang 14

function Replace($search, $replace, $object){

$object = str_replace($search, $replace, $object);

Trang 15

$str = '';

$this->cache['block_'.$block] = $s;

}return $this->cache['block_'.$block];

}

Lấy một đoạn nội dung có đánh dấu là $block.

function Assign_vars($code, $arr){

foreach($arr as $key => $value)

$code = $this->Replace('{'.$key.'}',$value, $code);return $code;

}

function Assign_blocks_content($code, $arr){

foreach($arr as $block => $value)

$code = preg_replace('#<! Begin '.$block.' >[\r\n]*(.*?)[\r\n]*<! End '.$block.' >#s',$value,$code);

Trang 16

II.Trang Index.php

Trang Index.php là trang chính để kết nối được giao diện web với các trang code viết bằng PHP Nó có chức năng gọi các trang liên quan khi người dung thực hiện các câu lênh

);

$tpl->Display($html);

}

Trang 18

for($i = 0; $i < count($fields); $i++)

$sets = $fields[$i].' = '.$values[$i].', ';

$sets = substr($sets, 0 , -2);

if($where == '')

$Mysql->Query('UPDATE '.$prefix.$table.' SET '.$sets);else{

$where = $tpl->Replace('^',' AND ',$where);

$where = $tpl->Replace('+',' OR ',$where);

$where = $tpl->Replace(',',' '.$ssanh.' ',$where);

$Mysql->Query('UPDATE '.$prefix.$table.' SET '.$sets.''.$where);

}}

if($action == 3){

Trang 19

$Mysql->Query('DELETE FROM '.$prefix.$table.' WHERE '.

$field.' '.$ssanh.' "'.$paterm.'"');

$info = '<center><h2><i>Không có dữ liệu trong mục này !</i></h2></center>';

else

$info = $tpl->Assign_blocks_content($info,array(

$block => $s,)

}

$str = '</select>';

Trang 20

error_reporting(E_ALL & ~E_NOTICE & ~E_WARNING);

header("Content-Type: text/html; charset=UTF-8");

$Mysql = new Mysql;

$Mysql->Connect($Server, $Username, $Password, $Database);

Trang 21

$cache['config_'.$name] = stripslashes($r['config_value']);

}return $cache['config_'.$name];

}

function UsetCookie($name, $value, $set = true){

$expire = ($set)? NOW + 24 * 60 * 60 : 0;

@setcookie($name, $value, $expire);

Usetcookie('LEVEL','',false);

}

if($isLogged){

exit("<h2>Bạn đã đăng nhập !</h2>");

Trang 22

VI Trang register.php.

Quản lý việc đăng ký tài khoản của người dung, những ngửơi này không có quyềnadmin

Trang 23

echo 'Email này đã có người sử dụng bạn vui lòng chọn email khác';

$Mysql->Query('INSERT INTO '.$prefix.'user VALUES("'.$user.'","'

$pass.'","2","'.$email.'")');

exit();

}else{

Trang 24

$html = $tpl->Get_XTemplate('register');

$tpl->Display($html);

}

?>

VII Trang seach.php.

Trang này có chức năng tìm kiếm dữ liệu theo yêu cầu của người dùng

<?php

if($value[0] == 'Search'){

$html = $tpl->Get_XTemplate('search');

$option = '<select id="searchType">'

'<option value="1">Mã số sinh viên</option>'

'<option value="2">Họ tên sinh viên</option>'

'<option value="3">Mã lớp</option>'

'<option value="4">Tên lớp</option>'

'<option value="5">Mã khoa</option>'

'<option value="6">Tên khoa</option>'

'</select>';

$html = $tpl->Replace('{OPTION}',$option,$html);

Trang 25

$tpl->Display($html);

}else{

$html = $tpl->Get_XTemplate('search');

$option = '<select id="searchType">'

'<option value="Student">Mã số sinh viên</option>'

Trang 26

'<option value="Student">Họ tên sinh viên</option>'.'<option value="Class">Mã lớp</option>'.

'<option value="Class">Tên lớp</option>'

'<option value="File">Mã khoa</option>'

'<option value="File">Tên khoa</option>'

Trang 27

$tpl->Display($html);

}

?>

VIII Trang hienthi.php.

Hiển thị thong tin trong cơ sơ dữ liệu theo theo yêu cầu của người dùng

Trang 28

$info = Get_info($value[1], $r, 'box_giangkhoa','boxes','info.rows',$arr);}elseif($value[1] == 'Lop'){

Trang 29

Hiệu chinh dữ liệu theo tiêu chí nào đó theo nhu cầu của người dùng Chỉ admin

$sql = 'UPDATE sinhvien SET maSV = "'.$_POST['masv'].'", hoTen = "'

$_POST['hoten'].'",NamSinh = "'.$_POST['namsinh'].'", danToc = "'.$_POST['dantoc'].'",maLop = "'.$_POST['malop'].'" WHERE maSV = "'.$_POST['masv'].'"';

}elseif($_COOKIE['Action'] == 3){

Trang 30

$sql = 'UPDATE chitietltlich SET Mssv = "'.$_POST['mssv'].'", HoTen =

"'.$_POST['hoten'].'",HKTT = "'.$_POST['HKTT'].'", MaDT = "'

$_POST['MaDT'].'",Diachi = "'.$_POST['Diachi'].'", SDT = "'.$_POST['SDT'].'",Email =

"'.$_POST['Email'].'",DienCS = "'.$_POST['DienCS'].'" WHERE Mssv = "'

$_POST['mssv'].'"';

$Mysql->Query($sql);

unset($_POST);

}elseif($_COOKIE['Action'] == 4){

$sql = 'UPDATE khoa SET maKhoa = "'.$_POST['makhoa'].'", tenKhoa =

"'.$_POST['tenkhoa'].'",namthanhlap = "'.$_POST['namthanhlap'].'" WHERE maKhoa =

$Mysql->Query($sql);

unset($_POST);

}elseif($_COOKIE['Action'] == 6){

$sql = 'UPDATE lop SET maLop = "'.$_POST['malop'].'", maKhoahoc =

"'.$_POST['makh'].'",maKhoa = "'.$_POST['makhoa'].'",maCT = "'.$_POST['mact'].'"WHERE maLop = "'.$_POST['malop'].'"';

Trang 31

$option = '<select id="searchType">'.

'<option value="1">Mã số sinh viên</option>'

'<option value="2">Họ tên sinh viên</option>'

'<option value="3">Mã lớp</option>'

'<option value="5">Khoa</option>'

'<option value="6">Khoá học</option>'

'<option value="7">Lớp</option>'

'<option value="8">Giảng khoa</option>'

'<option value="9">Môn học</option>'

'<option value="10">Kết quả</option>'

Trang 32

}elseif($value[1] == 6){

$r = Search('lop','1','','');

$arr = array('MALOP','MAKHOAHOC','MAKHOA','MACT');

Trang 33

$info = Get_info($value[1], $r,'box_hieuchinhlop','boxes','info.rows',$arr);

$info = $tpl->Assign_vars($info,array(

'TYPE' => $value[1]

));

$Mysql->Free_resurt($r);

}UsetCookie('Action',$value[1]);

}

$main = $tpl->Assign_blocks_content($main,array(

'info' => $info)

Trang 34

$match = $Mysql->Fetch_array($Mysql->Query("SELECT VERSION()"));

$match = explode('.', $match[0]);

define('MYSQL_VERSION',(int) sprintf('%d%02d%02d', $match[0], $match[1],intval($match[2])));

unset($match);

if(MYSQL_VERSION >= 40102) define('ENGINE_KEYWORD','ENGINE');else define('ENGINE_KEYWORD','TYPE');

$q = $Mysql->Query("SHOW TABLES FROM ".$Database);

if($Null && !$Default) $str = " Default NULL";

elseif(isset($Default)) $str = " NOT NULL Default '".$Default."'";elseif(!$Null){ $str = " NOT NULL";}

if($Extra) $str = " auto_increment";

$str = ",\n";

if($Key == 'PRI') $pri_arr[] = $Field;

elseif($Key == 'MUL') $key_arr[] = $Field;

}unset($Field, $Type, $Null, $Default, $Extra);

Trang 35

for($i = 0; $i < count($key_arr); $i++)

$str = " KEY `".$key_arr[$i]."` (`".$key_arr[$i]."`),\n";}

$collation = $r3[1];

if(strpos($collation, '_'))

$str = " DEFAULT CHARACTER SET ".substr($collation,

0, strpos($collation, '_'))." COLLATE ".$collation;

else

$str = " DEFAULT CHARACTER SET ".$collation;

}if($Comment)

$str = " COMMENT='".addslashes($Comment)."'";

$str = ";\n\n";

$field_ex = substr($field_ex, 0,-1);

if($_POST['export_data']){

Ngày đăng: 12/11/2014, 08:43

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w