Qu n lý sinh viên
Nhóm PTV
ả
L I M Đ U Ờ Ở Ầ ☼☼☼☼☼☼☼☼
ờ c s h ượ ự ướ ứ ộ ướ Sau m t th i gian h c t p nghiên c u và đ ọ ậ ồ ẫ ầ ợ ữ ệ ư ụ ả 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 ng d n t n tình c a ủ ẫ ậ Xây gi ng viên h Đ tài 01: ng d n th y H Diên L i nhóm PTV đã hoàn thành ề ả 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 ứ ữ ấ c g i là ng d ng XML. ề ỗ ộ ấ ự chuyên ngành. M i ngôn ng đánh d u d a trên XML đ ữ ượ ọ ệ ụ ả ứ ị ấ ữ ư ệ ể ặ ả ọ d ng XML có th đ c t ụ h c, ho c GML cho cây ph h ọ
ụ ỗ ứ ữ riêng c a nó, nh ng ố ừ ữ ủ v n t ố ừ ượ ạ ấ ở ở t , làm c ch n là c s ọ ệ ấ ố ắ ủ ẻ ấ ạ ễ ộ ứ VD:Trình duy t Moliza, b ng tính Gnumeric, trình biên d ch XML, m t ng chuyên ngành nh là Ngôn ng đánh d u hóa h c cho hóa ả ệ ặ M i ng d ng XML g m có nh ng cú pháp và 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 đ ữ ệ ề ộ ị 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 ộ ự ị ữ ữ cho vi c truy xu t tài li u đó d dàng. ệ ấ t XML r t líấ ệ đ sồ ộ và ph c t p ,nó ứ ạ ầ ử trong tài li u, mà ệ không chỉ cho còn chó phép ch raỉ ưở ự này. ệ ng cho nh ng tài li u ữ phép b n chạ ỉ rõ từ v ng đ nh nghĩa các ph n t m i quan h gi a các ph n t ệ ữ ố thu t tích h p d ồ ậ ợ ữ li u tệ ừ nhi uề ị ầ ử ấ ệ XML cũng cung c p phía client bao g m kĩ ấ ữ trình bày nó chỉ trong m t tài li u duy nh t . ngu n và ồ ề ệ ộ ử ụ c vi Đ tài nhóm PTV cũng s d ng ngôn ng XML.N i dung tài li u XMl mà ộ ằ t b ng ngôn ng PHP v i c s d li u b ng ớ ơ ở ữ ệ ế ằ ượ ữ ự ệ nhóm PTV đang th c hi n đ 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 ợ ng d n c a th y H Diên L i ầ ề ặ ẫ ủ i s h ướ ự ướ ữ ư i trong nhóm cu i cùng nhóm PTV đã hoàn thành đ tài. th c r t r ng c a ngôn ng PHP,nh ng d và s h c a m i ng ườ ứ ấ ộ ự ỗ ủ ủ ọ ỡ ậ ủ ầ ồ ề ồ ế ộ đã giúp em hoàn thành đ tài m t cách t nh ng l n sau nhóm em s hoàn thành t ố ợ 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 ả ơ ự t nh t.Kính mong th y đóng góp ý ki n đ ể ố ầ ấ t h n. ố ơ ề ẽ ư ầ
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: Ệ
ồ ễ
ệ
Qu n lý sinh viên
Nhóm PTV
ả
ễ
Qu n lý sinh viên
Nhóm PTV
ả
ể
ị
ế
ể ự t 1 s function đ th c
ố
ệ
ệ
ệ
ậ
ượ ớ ệ
c đ nh nghĩa s n cho phép ta truy c p các tài li u ậ ị
preserveWhiteSpace = false; $xmldoc->load("xml/sinhvien.xml"); $xmldoc->formatOutput = true;
ớ ủ ị ủ ả ề ề
ả ề ủ ề ầ
// Hàm tr v giá tr c a node đ u tiên v i tên tag c a node đó truy n vào ầ function getFirstValue($node,$tag){ return $node->getElementsByTagName($tag)->item(0)->nodeValue; } // Hàm tr v node đ u tiên v i tên tag c a node đó truy n vào ớ function getFirstNode($node,$tag){ return $node->getElementsByTagName($tag)->item(0); }
ị ớ ị
// Hàm gán giá tr cho 1 node $node có tag $tag v i giá tr $value function setNodeValue($node,$tag,$value){ getFirstNode($node,$tag)->nodeValue = $value; }
tag masv ả ề c t ượ ừ
// Hàm tr v node sinhvien tìm đ function getSinhVien($xmldoc,$masv){ // L y t t c các node sinh viên ấ ấ ả
Qu n lý sinh viên
Nhóm PTV
ả
ệ ừ
c masv v i masv là 1 attribute ớ ượ
c ượ
ừ ủ
$allSinhVien = $xmldoc->getElementsByTagName("sinhvien"); // Duy t t ng node sinh viên foreach($allSinhVien as $sinhvien) { // Tìm đ if(trim(getValueAttribute($sinhvien,"masv")) == trim($masv)) return $sinhvien; // Tr v node sinh viên tìm đ ả ề } } // function tìm 1 t c a tên function TrimName($name) { $name = @explode(" ",trim($name)); return $name[0]; }
1 th b t kỳ trong node ẻ ấ c t ượ ừ ả ề ả
i hàm d ng l ị ạ ế ử ụ
ệ ừ
ủ ọ ọ ặ
c giá tr ị ượ ế
i ạ ữ
// Hàm tr v m ng các node sinhvien tìm đ 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 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 đ 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 else if(getFirstValue($sinhvien,$tag) == $value) { $arraySinhVien[] = $sinhvien; }
} return $arraySinhVien;
Qu n lý sinh viên
Nhóm PTV
ả
}
ng $node ph i ch a $value tìm ố ượ ứ ả ị
ụ
// Hàm tìm giá tr thu c tính atribute, đ i t ộ ki mế // Ví d node sinhvien có masv là attribute function getValueAttribute($node,$value) { return @$node->getAttribute($value); }
c, $node ph i t n t i attribute ị ượ ả ồ ạ
// Hàm gán giá tr cho 1 attribute tìm đ $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: ị ộ ệ ả
Qu n lý sinh viên
Nhóm PTV
ả
III.2.Ph n code trang hi n th n i dung: ị ộ ệ ầ
: ế
ọ
i tính ớ
Danh sách sinh viên
Mã sinh viên | Tên sinh viên | Ngày sinh | Gi ớ | Đ a ch ị | L pớ | Khoa | S aử | Xóa |
S aử | Xóa | |||||||
S aử | Xóa |
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