intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Quản lý sinh viên

Chia sẻ: Truong Dinh Thi | Ngày: | Loại File: DOCX | Số trang:18

1.015
lượt xem
176
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Sau một thời gian học tập nghiên cứu và được sự hướng dẫn tận tình của giảng viên hướng dẫn thầy Hồ Diên Lợi nhóm PTV đã hoàn thành Đề tài 01: Xây dựng trang thông tin ứng dụng quản lý sinh viên. (dữ liệu lưu dang XML, có các chức năng thêm, bớt, sửa, tìm kiếm, trình bày chi tiết).

Chủ đề:
Lưu

Nội dung Text: Quản lý sinh viên

  1. Quản lý sinh viên Nhóm PTV LỜI MỞ ĐẦU ☼☼☼☼☼☼☼☼ Sau một thời gian học tập nghiên cứu và được sự hướng dẫn tận tình của giảng viên hướng dẫn thầy Hồ Diên Lợi nhóm PTV đã hoàn thành Đề tài 01: Xây dựng trang thông tin ứng dụng quản lý sinh viên. (dữ liệu lưu dang XML, có các chức năng thêm, bớt, sửa, tìm kiếm, trình bày chi tiết). Khi nói về XML thì đó là một ngôn ngữ siêu đánh dấu cho việc trình bày chuyên ngành. Mỗi ngôn ngữ đánh dấu dựa trên XML được gọi là ứng dụng XML. VD:Trình duyệt Moliza, bảng tính Gnumeric, trình biên dịch XML, một ứng dụng XML có thể đặc tả chuyên ngành như là Ngôn ngữ đánh dấu hóa học cho hóa học, hoặc GML cho cây phả hệ Mỗi ứng dụng XML gồm có những cú pháp và vốn từ riêng của nó, những vốn từ và cú pháp này tuân theo những qui tắc của XML XML là một định dạng rất mềm dẻo cho dữ liệu. XML được chọn là cở sở cho những ngôn ngữ khác vì XML cung cấp một sự định dạng tài liệu rất tốt , làm cho việc truy xuất tài liệu đó dễ dàng. XML rất lí tưởng cho những tài liệu đồ sộ và phức tạp ,nó không chỉ cho phép bạn chỉ rõ từ vựng định nghĩa các phần tử trong tài liệu, mà còn chó phép chỉ ra mối quan hệ giữa các phần tử này. XML cũng cung cấp phía client bao gồm kĩ thuật tích hợp dữ liệu từ nhiều nguồn và trình bày nó chỉ trong một tài liệu duy nhất . Đề tài nhóm PTV cũng sử dụng ngôn ngữ XML.Nội dung tài liệu XMl mà nhóm PTV đang thực hiện được viết bằng ngôn ngữ PHP với cơ sở dữ liệu bằng XML Trong quá trình thực hiện đồ án nhóm PTV cũng gặp nhiều khó khăn về kiến thức rất rộng của ngôn ngữ PHP,nhưng dưới sự hướng dẫn của thầy Hồ Diên Lợi và sự hỗ của mọi người trong nhóm cuối cùng nhóm PTV đã hoàn thành đề tài. Nhóm PTV xin chân thành cảm ơn sự giúp đỡ tận tình của thầy Hồ Diên Lợi đã giúp em hoàn thành đề tài một cách tốt nhất.Kính mong thầy đóng góp ý ki ến đ ể nhưng lần sau nhóm em sẽ hoàn thành tốt hơn.
  2. Quản lý sinh viên Nhóm PTV NỘI DUNG CHI TIẾT: I.ĐỊNH DẠNG TÀI LIỆU XML(DTD): II.TÀI LIỆU XML: Nguyễn Hồng Phú 08/07/1990 Nam Q9 - TP.HCM Tin32B Công Nghệ Thông Tin Khóa 32 Toán RR 8
  3. Quản lý sinh viên Nhóm PTV LT for win 9 LT web 10 Nguyễn Quang Vinh 15/03/1990 Nam Q9 - TP.HCM Tin32B Khoa CNTT Khoa 32 Toán RR 8 LT for win 9 LT web 10 Le Thi Trang 08/07/1990 Nam Q9 - TP.HCM Tin32B
  4. Quản lý sinh viên Nhóm PTV Khoa CNTT Khoa 32 Toán RR 8 LT for win 9 LT web 10 Trong quá trình hiển thị và thao tác ta cần vi ết 1 s ố function đ ể th ực hiện việc truy cập DOM trên tài liệu XML DOMDocument php là 1 lớp được định nghĩa sẵn cho phép ta truy cập các tài liệu XML, HTML, XHTML,...
  5. Quản lý sinh viên Nhóm PTV $allSinhVien = $xmldoc->getElementsByTagName("sinhvien"); // Duyệt từng node sinh viên foreach($allSinhVien as $sinhvien) { // Tìm được masv với masv là 1 attribute if(trim(getValueAttribute($sinhvien,"masv")) == trim($masv)) return $sinhvien; // Trả về node sinh viên tìm được } } // function tìm 1 từ của tên function TrimName($name) { $name = @explode(" ",trim($name)); return $name[0]; } // Hàm trả về mảng các node sinhvien tìm được từ 1 thẻ bất kỳ trong node sinhvien // Ví dụ sinh viên có tag ngaysinh function searchSinhVien($xmldoc,$tag,$value){ // Nếu tìm theo mã, vì mã mà 1 attribute định danh nên ta sử dụng lại hàm getSinhVien if($tag == "masv") return array(getSinhVien($xmldoc,$value)); // Tìm tất cả sinhvien $allSinhVien = $xmldoc->getElementsByTagName("sinhvien"); // Duyệt từng sinhvien foreach($allSinhVien as $sinhvien) { // Nếu tìm theo họ hoặc tên (vì họ tên là 2 tag con của tag tensv trong node sinhvien) if($tag == "ho" || $tag == "ten") { $nodeTensv=$sinhvien->getElementsByTagName("tensv")->item(0); // Nếu tìm được giá trị if(TrimName(getFirstValue($nodeTensv,$tag)) == TrimName($value)) $arraySinhVien[] = $sinhvien; // gán vào mảng } // Tìm những tag không có children node còn lại else if(getFirstValue($sinhvien,$tag) == $value) { $arraySinhVien[] = $sinhvien; } } return $arraySinhVien;
  6. Quản lý sinh viên Nhóm PTV } // Hàm tìm giá trị thuộc tính atribute, đối tượng $node phải chứa $value tìm kiếm // Ví dụ node sinhvien có masv là attribute function getValueAttribute($node,$value) { return @$node->getAttribute($value); } // Hàm gán giá trị cho 1 attribute tìm được, $node phải tồn tại attribute $nameAttribute function setNodeAttribute($node,$nameAttribute,$value) { $node->setAttribute($nameAttribute,$value); } ?> III.TRANG HIỆN THỊ NỘI DUNG TÀI LIỆU XML: III.1.Hình ảnh trang hiện thị nội dung:
  7. Quản lý sinh viên Nhóm PTV III.2.Phần code trang hiện thị nội dung: Danh sách sinh viên Tìm kiếm theo: value="ho">Họ sinh viên value="ngaysinh">Ngày sinh value="lop">Lớp
  8. Quản lý sinh viên Nhóm PTV
  9. Quản lý sinh viên Nhóm PTV
  10. Quản lý sinh viên Nhóm PTV ?> Danh sách sinh viên XMLThêm Sinh viên GVHD: Thầy Hồ Diên Lợi Nhóm thực hiện: PTV - Nguyễn Hồng Phú - Lê Thị Trang - Nguyễn Quang Vinh IV.TRANG CẬP NHẬT NỘI DUNG TÀI LIỆU XML: IV.1.Hình ảnh trang cập nhật nội dung: Thông tin muốn sửa sẽ được hiện thị lên trang. Khi hoàn thành xong thông tin sửa thì nhấn Sửa sinh viên để lưu lại thông tin đã được sửa. Nhấp Quay lại để trở lại trang hiện thị. IV.2.Phần code trang cập nhật nội dung:
  11. Quản lý sinh viên Nhóm PTV require_once("function.php"); $masv = $_GET["masv"]; // Node sinh viên tìm được $sinhvien = getSinhVien($xmldoc,$masv) or die("Không tìm thấy sinh viên"); // Tên SV $hosv = getFirstValue($sinhvien,"ho"); $tensv = getFirstValue($sinhvien,"ten"); // Ngày sinh $ngaysinh = getFirstValue($sinhvien,"ngaysinh"); // Giới tính $gioitinh = getFirstValue($sinhvien,"gioitinh"); // Địa chỉ $diachi = getFirstValue($sinhvien,"diachi"); // Lớp $lop = getFirstNode($sinhvien,"lop"); // xác định node lop trong node sinhvien $malop = $lop->getAttribute("malop"); // lấy giá trị attribute malop trong node lop $tenlop = getFirstValue($sinhvien,"lop"); // lấy giá trị tenlop trong node lop // Khoa $khoa = getFirstNode($sinhvien,"khoa"); // xác định node khoa trong node khoa $makhoa = $khoa->getAttribute("makhoa"); // lấy giá trị attribute makhoa trong node khoa $tenkhoa = getFirstValue($sinhvien,"khoa"); // lấy giá trị tenkhoa trong node khoa // Khóa học $khoahoc = getFirstValue($sinhvien,"khoahoc"); // Đếm số môn học trong node ketqua $nodeKetqua = getFirstNode($sinhvien,"ketqua"); $arrayMonHoc = $nodeKetqua->getElementsByTagName("monhoc"); $somon = 0; foreach($arrayMonHoc as $monhoc) { $ketqua["tenmh"][$somon] = getFirstValue($monhoc,"tenmh"); // lấy tên môn học $ketqua["diem"][$somon] = getFirstValue($monhoc,"diem"); $somon++; } ?> Sửa sinh viên Mã sinh viên:
  12. Quản lý sinh viên Nhóm PTV Giới tính:
  13. Quản lý sinh viên Nhóm PTV // Tìm node sinhvien cần sửa $nodeSinhVien = getSinhVien($xmldoc,$masv); // Tìm node tensv trong node sinhvien $nodeTenSV = getFirstNode($nodeSinhVien,"tensv"); // Sửa giá trị của các children node $nodeTenSV setNodeValue($nodeTenSV,"ho",$hosv); setNodeValue($nodeTenSV,"ten",$tensv); // Sửa node ngày sinh setNodeValue($nodeSinhVien,"ngaysinh",$ngaysinh); // Sửa node giới tính setNodeValue($nodeSinhVien,"gioitinh",$gioitinh); // Sửa node Địa chỉ setNodeValue($nodeSinhVien,"diachi", $diachi); // Sửa node Lớp $nodeLop = getFirstNode($nodeSinhVien,"lop"); setNodeAttribute($nodeLop,"malop",$malop); setNodeValue($nodeSinhVien,"lop",$tenlop); // Sửa node Khoa $nodeKhoa = getFirstNode($nodeSinhVien,"khoa"); setNodeAttribute($nodeKhoa,"makhoa",$makhoa); setNodeValue($nodeSinhVien,"khoa",$tenkhoa); // Sửa node Khóa học setNodeValue($nodeSinhVien,"khoahoc",$khoahoc); // Sửa các node con trong node Ketqua $nodeKetQua = getFirstNode($nodeSinhVien,"ketqua"); $allNodeMonHoc = $nodeKetQua->getElementsByTagName("monhoc"); // Sửa node ketqua $i = 0; foreach($allNodeMonHoc as $nodeMonHoc) { // sửa giá trị từng node setNodeValue($nodeMonHoc,"tenmh",$_POST["tenmh".$i]); setNodeValue($nodeMonHoc,"diem",$_POST["diem".$i]); $i++; } // Lưu tài liệu XML và chuyển đến sv vừa sửa $xmldoc->save("xml/sinhvien.xml"); header("Refresh:0; url=editXml.php?masv=$masv"); V.TRANG THÊM MẪU TIN VÀO NỘI DUNG TÀI LIỆU XML: V.1.Hình ảnh trang thêm mẫu tin :
  14. Quản lý sinh viên Nhóm PTV V.2.Phần code trang thêm mẫu tin: Thêm Sinh Viên Mã sinh viên: Tên sinh viên: Giới tính: Ngày sinh: Địa chỉ:
  15. Quản lý sinh viên Nhóm PTV Lớp: Khoa: Khóa học: Kết quả: Tên môn học :
  16. Quản lý sinh viên Nhóm PTV // Tạo node họ $nodeHo = $xmldoc->createElement("ho",$hosv); // Tạo node tên $nodeTen = $xmldoc->createElement("ten",$tensv); // Gắn node họ vào node tensv $nodeTensv->appendChild($nodeHo); // Gắn node ten vào node tensv $nodeTensv->appendChild($nodeTen); // Gắn node tensv vào node sinhvien $nodeSinhvien->appendChild($nodeTensv); // Tạo node ngaysinh $nodeNgaysinh = $xmldoc->createElement("ngaysinh",$ngaysinh); // Gắn node ngaysinh vào sinhvien $nodeSinhvien->appendChild($nodeNgaysinh); // Tạo node gioitinh $nodeGioitinh = $xmldoc->createElement("gioitinh",$gioitinh); // Gắn node gioitinh vào sinhvien $nodeSinhvien->appendChild($nodeGioitinh); // Tạo node diachi $nodeDiachi = $xmldoc->createElement("diachi",$diachi); // Gắn node diachi vào sinhvien $nodeSinhvien->appendChild($nodeDiachi); // Tạo node lop $nodeLop = $xmldoc->createElement("lop",$tenlop); // Tạo attribute malop $attrMalop = $xmldoc->createAttribute("malop"); // Gán giá trị cho attribute malop $attrMalop->appendChild($xmldoc->createTextNode($malop)); // Gắn attribute malop cho node lop $nodeLop->appendChild($attrMalop); // Gắn node lop vào node sinhvien $nodeSinhvien->appendChild($nodeLop); // Tạo node Khoa $nodeKhoa = $xmldoc->createElement("khoa",$tenkhoa); // Tạo attribute makhoa $attrMakhoa = $xmldoc->createAttribute("makhoa"); // Gán giá trị cho attribute makhoa $attrMakhoa->appendChild($xmldoc->createTextNode($makhoa)); // Gắn attribute makhoa cho node khoa $nodeKhoa->appendChild($attrMakhoa); // Gắn node khoa cho node sinhvien $nodeSinhvien->appendChild($nodeKhoa); // Tạo node Khoahoc $nodeKhoahoc = $xmldoc->createElement("khoahoc",$khoahoc); // Gắn node Khoahoc cho node sinhvien $nodeSinhvien->appendChild($nodeKhoahoc);
  17. Quản lý sinh viên Nhóm PTV // Tạo node KetQua $nodeKetQua = $xmldoc->createElement("ketqua"); for($i = 0; $i < $somon ; $i++) { // Tạo node monhoc child của nodeKetqua $nodeMonHoc = $xmldoc->createElement("monhoc"); // Tạo node TenMonhoc children của monhoc $nodeTenMonhoc = $xmldoc->createElement("tenmh", $_POST["tenmh".$i]); // Gắn vào monhoc $nodeMonHoc->appendChild($nodeTenMonhoc); // Tạo node Diem children của monhoc $nodeDiem = $xmldoc- createElement("diem", $_POST["diem".$i]); // Gắn vào monhoc $nodeMonHoc->appendChild($nodeDiem); // Cuối cùng gắn từng monhoc và ketqua $nodeKetQua->appendChild($nodeMonHoc); } // Gắn ketqua cho sinhvien $nodeSinhvien->appendChild($nodeKetQua); // Gắn node sinhvien cho node qlsinhvien getFirstNode($xmldoc,"qlsinhvien")->appendChild($nodeSinhvien); // Lưu tài liệu XML và chuyển đến sv vừa thêm $xmldoc->save("xml/sinhvien.xml"); header("Refresh:0; url=editXml.php?masv=$masv"); VI.XÓA MẪU TIN: if(isset($_GET["masv"])) // Xóa { // lấy masv xóa từ querystring $masv = $_GET["masv"]; // tìm node sinhvien cần xóa $nodeSinhVien = getSinhVien($xmldoc,$masv); // đứng ở node qlsinhvien xóa node sinhvien getFirstNode($xmldoc,"qlsinhvien")->removeChild($nodeSinhVien); // Lưu tài liệu XML $xmldoc->save("xml/sinhvien.xml"); header("Refresh:0; url=index.php"); } ?> KẾT LUẬN: Xây dựng một trang xml không phải là vấn đề mới mẻ. Quanh XML luôn có nhiều cường điệu và lộn xộn. Tuy nhiên, nó không khó khăn như bạn nghĩ -- nhất là
  18. Quản lý sinh viên Nhóm PTV trong một ngôn ngữ lớn như PHP. Khi bạn hiểu và thực hiện XML đúng cách, bạn sẽ thấy có nhiều công cụ mạnh mà bạn có thể sử dụng. Trong thế giới hiện đại ngày nay, công nghệ thông tin đã trở thành một phần tất yếu trong cuộc sống. Với những hỗ trợ ngày càng nhiều của công nghệ thông tin trong các lĩnh vực, con người đã tiết kiệm được khá nhiều thời gian và công sức làm việc, nhờ đó hiệu quả công việc tăng lên gấp nhiều lần. Một trong những đóng góp quan trọng của công nghệ thông tin cho con người là việc tổ chức lưu trữ dữ liệu. Với việc tổ chức lưu trữ thông tin trên máy tính, con người thoát khỏi một khối lượng lớn công việc phải ghi chép, giúp cho việc trao đổi và chia sẻ thông tin trở nên linh hoạt hơn, còn giúp đảm bảo an toàn dữ liệu và dễ dàng thống kê… Các hình thức lưu trữ dữ liệu thường dùng ngày nay là: cơ sở dữ liệu quan hệ, các dạng tài liệu văn bản, tài liệu XML… Nhờ cấu trúc đơn giản, dễ truy xuất và đặc biệt không phụ thuộc vào một nền tảng nào, việc lưu trữ bằng tài liệu XML ngày càng tr ở nên phổ biến, được ứng dụng rộng rãi trong nhiều lĩnh vực… XML đã trở thành chuẩn tiện lợi cho việc trao đổi thông tin trên Web. Hiện nay, vấn đề ứng dụng công nghệ XML trong môi trường cơ sở dữ liệu di động đang thu hút nhiều sự quan tâm, đầu tư của các nhà nghiên cứu. Nhất là trong hoàn cảnh hiện tại, các thiết bị di động đang trở nên quan trọng và phổ biến trong xã hội chúng ta. Hơn thế các thiết bị di động ngày càng trở nên nhỏ gọn và thông minh, có thể truy xuất thông tin mọi lúc mọi nơi, có thể trao đổi, giao tiếp với các hệ thống khác bằng những công nghệ vô tuyến như: Wifi, BlueTooth,… Chính sự phát triển không ngừng của các thiết bị di động và công nghệ vô tuyến đã tạo ra nhiều thuận lợi cũng như thách thức trong việc nghiên cứu các vấn đề liên quan đến môi trường dữ liệu di động: tính toán di động, thiết kế dữ liệu gọn nhẹ phù hợp với không gian lưu trữ hạn hẹp của các thiết bị, truy vấn hiệu quả và đồng bộ dữ liệu… Sự hòa hợp giữa các thiết bị di động và công nghệ vô tuyến trở thành lĩnh vực nghiên cứu nhiều tiềm năng.
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2