Mô tả:
Bảng phân công công việc:
Thành viên
Lò Văn Diên
Công việc
Xây dựng modum thêm sản phẩm và hiển
Lê Việt Đức
thị sản phẩm
Xây dựng modum sửa sản phẩm
Phạm Văn Nguyên
Xấy dựng modum xóa sản phẩm
Tên đề tài: Xây dựng chương trình quản lý bán máy tính Webform
Nội dung báo cáo:
1. Ứng dụng XML trong chương trình quản lý bán hàng
2. Chương trình demo
1. Ứng dụng XML trong chương trình quản lý bán hàng
Sử dụng XML để lưu trữ cơ sở dữ liệu.
1.1 Thêm sản phẩm mới
Mô hình DOM quản lý bán máy tính
QLBH
Masp
TenSP
AnhSP
HangSX
MotaSp
TinhTrang
Gia
Để thêm một tài liệu mới ta thực hiện các bước sau:
Kiểm tra xem trong cơ sở dự liệu đa tồn tại file XML:
$url=file_exists('C:\xampp\htdocs\xml\sanpham.xml');
Chưa tồn tại: Tạo ra một đối tượng xử lý Dom của Microsoft: $xmldoc = new
DOMDocument("Microsoft.XMLDOM"); Tạo phần tử gốc có tên là QLBH sủ dụng hàm
createElement và sau đó sủ dụng hàm appendChild thêm nút con vào đang xét và tạo các
phần tử element khác tương ướng.
$root = $xmldoc->createElement("QLBH");
$xmldoc->appendChild( $root );
Đã tồn tại: Tạo ra một đối tượng xử lý Dom của Microsoft:
$xmldoc = new DOMDocument("Microsoft.XMLDOM");
Nạp tài liệu “sampham.xml” vào trình duyệt để xử lý: $xmldoc->load ('sanpham.xml' );
Tạo phần tử Element: $elem = $xmldoc->createElement("SANPHAM");
Tạo các phần tử con tương ứng:
$masanpham = $xmldoc->createElement("MASP");
$masanpham->appendChild($xmldoc->createTextNode($masp));
$elem->appendChild( $masanpham );
Kết xuất tài liệ vừa tạo: $xmldoc->save("sanpham.xml") ;
Code PHP thêm sản phẩn mới:
alert('Hãy nhập đầy đủ thông tin & Giá sản
phẩm phải là số');";
}
else
{
if($url==false)
{
$xmldoc = new DOMDocument("Microsoft.XMLDOM");
$xmldoc->formatOutput = true;
$root = $xmldoc->createElement("QLBH");
$xmldoc->appendChild( $root );
$elem = $xmldoc->createElement("SANPHAM");
$masanpham = $xmldoc->createElement("MASP");
$masanpham->appendChild($xmldoc->createTextNode($masp));
$elem->appendChild( $masanpham );
$tensanpham = $xmldoc->createElement("TENSANPHAM");
$tensanpham->appendChild($xmldoc->createTextNode($tensp));
$elem->appendChild($tensanpham);
$anhsp = $xmldoc->createElement("LINKANH");
$anhsp->appendChild($xmldoc->createTextNode($anh));
$elem->appendChild($anhsp);
$loaisp = $xmldoc->createElement("LOAI");
$loaisp->appendChild($xmldoc->createTextNode($loai));
$elem->appendChild($loaisp);
$motasp = $xmldoc->createElement("MOTA");
$motasp->appendChild($xmldoc->createTextNode($mota));
$elem->appendChild($motasp);
$tinhtrangsp = $xmldoc->createElement("TINHTRANG");
$tinhtrangsp->appendChild($xmldoc->createTextNode($tinhtrang));
$elem->appendChild($tinhtrangsp);
$giasp = $xmldoc->createElement("GIA");
$giasp->appendChild($xmldoc->createTextNode($gia));
$elem->appendChild($giasp);
$root->appendChild($elem);
$xmldoc->save("sanpham.xml") ;
header("location:hienthi.php");
}
else
{
$xmldoc = new DOMDocument ("Microsoft.XMLDOM");
$xmldoc->load ('sanpham.xml' );
$elem = $xmldoc->createElement("SANPHAM");
$masanpham = $xmldoc->createElement("MASP");
$masanpham->appendChild($xmldoc->createTextNode($masp));
$elem->appendChild( $masanpham );
$tensanpham = $xmldoc->createElement("TENSANPHAM");
$tensanpham->appendChild($xmldoc->createTextNode($tensp));
$elem->appendChild($tensanpham);
$anhsp = $xmldoc->createElement("LINKANH");
$anhsp->appendChild($xmldoc->createTextNode($anh));
$elem->appendChild($anhsp);
$loaisp = $xmldoc->createElement("LOAI");
$loaisp->appendChild($xmldoc->createTextNode($loai));
$elem->appendChild($loaisp);
$motasp = $xmldoc->createElement("MOTA");
$motasp->appendChild($xmldoc->createTextNode($mota));
$elem->appendChild($motasp);
$tinhtrangsp = $xmldoc->createElement("TINHTRANG");
$tinhtrangsp->appendChild($xmldoc->createTextNode($tinhtrang));
$elem->appendChild($tinhtrangsp);
$giasp = $xmldoc->createElement("GIA");
$giasp->appendChild($xmldoc->createTextNode($gia));
$elem->appendChild($giasp);
$node = $xmldoc->importNode($elem, true);
$xmldoc->documentElement->appendChild($node);
$xmldoc->save("sanpham.xml");
header("location:hienthi.php");
}
}
}
?>
Kết quả khi thêm một sản phẩn mới file “sanpham.XML”:
01Apple Macbook Pro
ME665ZP/A - With
RETINA2.jpg<img
width='100' src='img/logo/4.png'>Xuất xứ
Thương hiệu Mỹ - Sản
xuất tại Trung Quốc
Hệ điều hành - OS
Bộ vi xử lý - CPU
Mac OS X 10.9 Mavericks
Intel Core i7 (4 Core) 2.7Ghz Boost up
to 3.7Ghz
Bộ nhớ trong - RAM 16Gb DDR3 1600Mhz
Ổ đĩa cứng - HDD 512Gb SSD
Bộ vi xử lý đồ họa - GPU
GeForce GT 650M - 1Gb DDR5
Kích cỡ màn hình - LCD
15.4"
WSVGA(2560x1600)
Ổ quang học - ODD không
Mạng không dây - Wifi Có
Webcam Có
Bluetooth
Có
Finger print Không
Pin
6 cell (khoảng 9h)
Khối lượng
2.02kgCòn
hàng63300000
1.2 Hiển thị dữ liệu lên trình duyệt.
Sau khi đã tạo được tài liệu XML có tên là “sampham.XML” để hiển thị dữ liệu
lên trình duyệt ta thực hiện các bước sau:
Khởi tạo đối tượng xử lý DOM của Microsoft: xmldoc=new
ActiveXObject(“Microsoft.XMLDOM”) và nạp tài liệu sanpham.xml cần xử lý vào trình
duyệt: xmldoc.load(“sanpham.xml”)
Sủ dụng hàm getElementsByTagName ("SANPHAM"); để trả về tập hợp các
node con theo tham số.
Khai báo một biến mảng $sp để lấy các giá trị trong các node, sủ dụng vòng lặp
Foreach để lấy các giá trị trong mảng và eho các giá trị tương ướng.
Code php:
foreach ( $sp as $svv )
{
$masp = $svv->getElementsByTagName ( "MASP" );
$masp = $masp->item ( 0 )->nodeValue;
$tensp = $svv->getElementsByTagName ("TENSANPHAM");
$tensp = $tensp->item ( 0 )->nodeValue;
$anh = $svv->getElementsByTagName ("LINKANH");
$anh = $anh->item ( 0 )->nodeValue;
$loai = $svv->getElementsByTagName ("LOAI");
$loai = $loai->item ( 0 )->nodeValue;
$mota = $svv->getElementsByTagName ("MOTA");
$mota = $mota->item ( 0 )->nodeValue;
$tinhtrang = $svv->getElementsByTagName ("TINHTRANG");
$tinhtrang = $tinhtrang->item ( 0 )->nodeValue;
$gia = $svv->getElementsByTagName ("GIA");
$gia = $gia->item ( 0 )->nodeValue;
1.3 Sửa sản phẩm
Để sửa một sản phẩm ta cần thực hiên các bước sau
Lấy giá tri item() cần sửa bằng các $_GET[id] như vậy sẽ được giá trị item($id)
tương ướng.
Tạo đối tượng xứ lý Dom của Microsoft và nạp tài liệu cần xử lý vào trình
duyệt.
Lấy các giá trị tương ứng để hiển thị lên trình duyệt bằng các sử dụng hàm
getElementsByTagName() ta sẽ được các giá trị là tập hợp các Node con theo tên trong
tham số. Khai báo biến cùng tên với biến đã khai báo ở phần thêm sản phẩm để lấy các
giá trị tham số tương ứng trong mảng vừa truy xuất trong file XML để echo các giá trị lên
trình duyệt.
o Ví dụ: $sp1 = $doc->getElementsByTagName("SANPHAM");
$sp2=$sp1->item($id);
$masp=$sp2->getElementsByTagName("MASP")->item(0)>nodeValue;
Khai báo một biến mới S_POST[] để lấy các giá trị tương ứng vừa sửa và đặt
giá trị các node con tương ứng vừa sửa được.
Ví dụ: $masp2 = $_POST['masp'];
$sp2->getElementsByTagName("MASP")->item(0)->nodeValue=$masp2;
Save
Code PHP:
//Lấy các giá trị tương ứng để hiển thị lên trình duyệt.
if(isset($_GET['id']))
{
$id=$_GET['id'];
$doc = new DOMDocument ();
$doc->load('sanpham.xml');
$sp1 = $doc->getElementsByTagName("SANPHAM");
$sp2=$sp1->item($id);
$masp=$sp2->getElementsByTagName("MASP")->item(0)>nodeValue;
$tensp=$sp2->getElementsByTagName("TENSANPHAM")>item(0)->nodeValue;
$anh=$sp2->getElementsByTagName("LINKANH")->item(0)>nodeValue;
$loai=$sp2->getElementsByTagName("LOAI")->item(0)>nodeValue;
$mota=$sp2->getElementsByTagName("MOTA")->item(0)>nodeValue;
$tinhtrang=$sp2->getElementsByTagName("TINHTRANG")>item(0)->nodeValue;
$gia=$sp2->getElementsByTagName("GIA")->item(0)>nodeValue;
}
//Gán các giá trị vừa sửa vào các Node tương ứng
if(isset($_POST['sub']))
{
$masp2 = $_POST['masp'];
$tensp2 = $_POST['tensp'];
$anh2=$_POST['anh'];
$loai2=$_POST['loai'];
$mota2=$_POST['mota'];
$tinhtrang2=$_POST['tinhtrang'];
$gia2=$_POST['gia'];
if($tensp2==''||$anh2==''||$mota2==''||$gia2==''||
(is_numeric($gia2)==false))
{
echo "";
}
else
{
$sp2->getElementsByTagName("MASP")->item(0)>nodeValue=$masp2;
$sp2->getElementsByTagName("TENSANPHAM")->item(0)>nodeValue=$tensp2;
$sp2->getElementsByTagName("LINKANH")->item(0)>nodeValue=$anh2;
$sp2->getElementsByTagName("LOAI")->item(0)->nodeValue=$loai2;
$sp2->getElementsByTagName("MOTA")->item(0)>nodeValue=$mota2;
$sp2->getElementsByTagName("TINHTRANG")->item(0)>nodeValue=$tinhtrang2;
$sp2->getElementsByTagName("GIA")->item(0)->nodeValue=$gia2;
$doc->save("sanpham.xml") ;
header("location:hienthi.php");
}
1.4 Xóa sản phẩm
Để xóa một sản phẩm ta cần thực hiên các bước sau
Lấy giá tri item( ) cần sửa bằng các $_GET[id] như vậy sẽ được giá trị
item($id) tương ướng.
Tạo đối tượng xứ lý Dom của Microsoft và nạp tài liệu cần xử lý vào trình
duyệt.
Sử dụng hàm getElementsByTagName( ) trả về các giá trị là tập hợp các Node
con theo tên trong tham số và lấy giá trị các item($id) tương ứng.
Sử dụng hàm removeChild( )để xóa các Node con có giá trị tương ứng.
Save
Code PHP:
load('sanpham.xml');
$sp = $doc->getElementsByTagName("SANPHAM");
$sp2=$sp->item($id);
$sp2->parentNode->removeChild($sp2);
$doc->save("sanpham.xml") ;
}
?>
2 Chương trình Demo
Form đăng nhập:
Form thêm sản phẩm:
Form sửa sản phẩm:
- Xem thêm -