Tải bản đầy đủ (.pdf) (39 trang)

Bài tập công nghệ WEB và ứng dụng

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (4.18 MB, 39 trang )

BÀI TẬP THỰC HÀNH 01
Mục đích:
 Ơn tập cú pháp PHP.
 Sử dụng vòng lặp foreach để duyệt các phần tử trong mảng (bảng dữ liệu).
 Sử dụng các lệnh include, require để chèn nội dung một tập tin khác vào tập tin
hiện hành.
Yêu cầu:
Tạo các trang:
 profile.php: lưu thông tin của host và cấu hình.
 database.php: kết nối đến CSDL.
 database_error.php: thông báo lỗi kết nối CSDL.
 category_list.php: hiển thị danh sách các danh mục.
 product_list.php: hiển thị danh sách các mặt hàng tương ứng với danh mục.
Với cơ sở dữ liệu quản lý hàng hóa (qlhh) gồm 2 bảng (danhmuc, mathang) như sau:

Hướng dẫn:


Trang profile.php:



Trang database.php:



1





Trang database_error.php:



Trang category_list.php:

require_once ("database.php");
$query = "SELECT * FROM danhmuc ORDER BY madm";
$result = $db->query($query);
?>
<!DOCTYPE html>
<head>
<title>My Shop</title>
<meta charset="utf-8">



2


<link rel="stylesheet" type="text/css" href="css/main.css" />
</head>
<body>
<div id="page">
<div id="header">

ABC Shop


</div>
<div id="main">

Danh mục



<table>
<tr>
<th>Hãng</th>
</tr>
<?php foreach ($result as $row){ ?>
<tr>
<td><?php echo $row["tendm"]; ?></td>
</tr>
<?php } ?>
</table>


</div>
<div id="footer">

© <?php echo date("Y"); ?> ABC Shop


</div>
</div>
</body>
</html>



Trang product_list.php:

Đọc dữ liệu:
require_once ("database.php");
// 1. Lấy mã danh mục
if (! isset($madm)) {
if (isset($_GET["madm"]))

$madm = $_GET["madm"];
if (! isset($madm)) {
$madm = 1;
}
}



3


// 2. Lấy tên của danh mục hàng hóa hiện tại
$query = "SELECT * FROM danhmuc WHERE madm = $madm";
$bangdm = $db->query($query);
$danhmuc = $bangdm->fetch(PDO::FETCH_BOTH);
$tendm = $danhmuc['tendm'];
// 3. Lấy danh sách tất cả danh mục hàng hóa
$query = "SELECT * FROM danhmuc ORDER BY madm";
$bangdm = $db->query($query);
// 4. Lấy tất cả mặ hàng thuộc danh mục đã chọn
$query = "SELECT * FROM mathang WHERE madm = $madm ORDER BY mahang";
$bangmh = $db->query($query);
?>

Hiển thị lên trang:
<body>
<div id="page">
<div id="header">

ABC Shop


</div>

<div id="main">

Danh sách mặt hàng


<!-- Hiển thị danh sách danh mục dưới dạng liên kết -->
<div id="sidebar">

Danh mục


<ul class="nav">
<?php foreach($bangdm as $r){ ?>
<li>?>
</a></li>
<?php } ?>
</div>
<!-- Hiển thị danh sách mặt hàng thuộc danh mục đã chọn -->
<div id="content">

<?php echo $tendm; ?>


<table>
<tr>
<th>Tên</th><th>Giá</th>
</tr>
<?php foreach($bangmh as $row){ ?>
<tr>
<td><?php echo $row["tenhang"]; ?></td>
<td><?php echo $row["giaban"]; ?></td>
</tr>
<?php } ?>
</table>
</div>
</div>
<div id="footer">

© <?php echo date("Y"); ?> ABC Shop



</div>
</div>
</body>



4


BÀI TẬP THỰC HÀNH 02
Mục đích:
 Tương tác cơ sở dữ liệu (thêm, xóa, sửa).
 Chuyển hướng trang theo yêu cầu.
Yêu cầu:
Tạo các trang:
 category_list.php: trang chính quản lý danh mục. Từ
trang này sẽ gọi thực hiện các chức năng thêm, xóa,
sửa.
 add_category_form.php: form thêm danh mục.
 add_category.php: xử lý thêm danh mục.
 delete_category.php: xử lý xóa danh mục.
 update_category_form.php: form cập nhật danh mục.
 update_category.php: xử lý cập nhật danh mục.
Sử dụng cơ sở dữ liệu quản lý hàng hóa (qlhh.sql). Thư mục inc chứa các tập tin hỗ
trợ kết nối CSDL của bài thực hành trước.
Hướng dẫn:


Trang category_list.php có giao diện như sau:


Chuyển sang delete_category.php để xử lý, gửi kèm
mã danh mục được chọn. Sau khi xóa chuyển hướng về
lại category_list.php.

Chuyển sang update_category_form.php, gửi kèm mã
danh mục được chọn.
Chuyển sang add_category_form.php.

Code gợi ý:
// Lấy tất cả danh mục
require_once ("inc/database.php");
$sql = "SELECT …";
$bangdm = $db->query($sql);
?>
<?php // Chèn header.php ?>
<table>

1


<tr>
<th>Tên</th><th>Xóa</th><th>Sửa</th>
</tr>
<?php foreach ($bangdm as $d){ // Duyệt từng dịng trong $bangdm ?>
<tr>
<td><?php // echo tên danh mục ?></td>
<td><form action="delete_category.php" method="post">
value="<?php // echo mã danh mục ?>">

<input type="submit" value="Xóa">
</form>
</td>
<td><form action="update_category_form.php" method="post">
value="<?php // echo mã danh mục ?>">
<input type="submit" value="Sửa">
</form>
</td>
</tr>
<?php } ?>
</table>


<a href="add_category_form.php">
<input type="button" value="Thêm danh mục">
</a>
<?php // Chèn footer.php ?>



Trang delete_category.php:

require_once ("inc/database.php");
try{
// Lấy mã danh mục trong trường hidden
if(isset($_POST["txtmadm"]))
$madm = $_POST["txtmadm"];


2


// Xóa danh mục khỏi cơ sở dữ liệu
$sql = "DELETE FROM danhmuc WHERE madm=$madm";
$db->exec($sql);
}
catch (PDOException $e){
$error_message = $e->getMessage();
include("inc/database_error.php");
exit();
}
// Quay về trang quản lý danh mục chính
header("Location: category_list.php");
?>



Trang update_category_form.php có giao diện như sau:

Quay về category_list.php.

Chuyển sang add_category.php
để xử lý. Sau khi thêm quay về
category_list.php.

require_once ("inc/database.php");
try{
// Lấy mã danh mục trong trường hidden

if(isset($_POST["txtmadm"]))
$madm = $_POST["txtmadm"];
// Lấy tên danh mục có mã vừa xác định
$sql = "SELECT * FROM danhmuc WHERE madm=$madm";
$bangdm = $db->query($sql);
$dm = $bangdm->fetch(PDO::FETCH_BOTH);
$tendm = $dm["tendm"];
}
catch (PDOException $e){
// Xử lý lỗi tương tự trang trước
}
?>
<?php // Chèn header.php ?>

Sửa danh mục


<form method="post" action="update_category.php">
<table>
<tr>
<th>Mã danh mục</th><th>Tên danh mục</th>
</tr>
<tr>
<td>readonly="true"></td>
<td></td>
</tr>
</table>

<input type="submit" value="Cập nhật">
<a href="category_list.php"><input type="button" value="Quay về"></a>
</form>


3


<?php // Chèn footer.php ?>

 Trang update_category.php:
require_once ("inc/database.php");
try{
// Lấy mã và tên danh mục từ form
if(isset($_POST["txtten"]))
$tendm = $_POST["txtten"];
if(isset($_POST["txtma"]))
$madm = $_POST["txtma"];
// Cập nhật danh mục vào CSDL
$sql = "UPDATE danhmuc SET tendm='$tendm' WHERE madm=$madm";
$db->exec($sql);
}
catch (PDOException $e){
// Xử lý lỗi tương tự trang trước
}
// Quay về trang quản lý chính
header("Location: category_list.php");
?>



Trang add_category_form.php có giao diện như sau:
Chuyển sang add_category.php
để xử lý. Sau khi thêm quay về

category_list.php.

Quay về category_list.php.
<?php // Chèn header.php ?>

Thêm danh mục


<form method="post" action="add_category.php">
<table>
<tr>
<th>Tên danh mục</th>
</tr>
<tr>
<td>required="required"></td>
</tr>
</table>

<input type="submit" value="Thêm">
<a href="category_list.php"></a></form>
<?php // Chèn footer.php ?>

 Trang add_category.php:
require_once ("inc/database.php");
try{
// Lấy tên danh mục do nd nhập từ form
if(isset($_POST["txtten"]))

4



$tendm = $_POST["txtten"];
// Thêm mới danh mục vào CSDL
$sql = "INSERT INTO danhmuc(tendm) VALUES('$tendm')";
$db->exec($sql);
}
catch (PDOException $e){
// Xử lý lỗi tương tự trang trước
}
// Quay về trang quản lý chính
header("Location: category_list.php");
?>

Tự thực hành:
Tạo các trang quản lý (thêm, xóa, sửa) sản phấm:
 product_list.php: trang chính quản lý sản phẩm. Từ trang này sẽ gọi thực hiện các
chức năng thêm, xóa, sửa.
 add_product_form.php: form thêm sản phẩm.
 add_product.php: xử lý thêm sản phẩm.
 delete_product.php: xử lý xóa sản phẩm.
 update_product_form.php: form cập nhật sản phẩm.
 update_product.php: xử lý cập nhật sản phẩm.
Giao diện trang chính (product_list.php):

5


BÀI TẬP THỰC HÀNH 03
Mục đích:
 Tổ chức ứng dụng theo mơ hình MVC.
u cầu:

Trong bài thực hành này, các trang sẽ được tổ chức lại theo
mơ hình MVC như sau:
Thư mục model chứa:
 profile.php: lưu thông tin của host và cấu hình.
 database.php: kết nối đến CSDL.
 danhmuc_db.php: tương tác bảng danh mục trong CSDL.
Thư mục view chứa
 database_error.php: thông báo lỗi.
 header.php: nội dung phần đầu trang.
 footer.php: nội dung phần cuối trang.
Thư mục qldanhmuc (controller) chứa:
 index.php: trang chính.
 dsdanhmuc.php: quản lý danh mục.
Hướng dẫn:

Thư mục Model


Trang profiles.php:



Trang database.php:

1




Trang danhmuc_db.php:


Thư mục View


Trang database_error.php:



Trang header.php:



Trang footer.php:

Thư mục Controller: qldanhmuc


Trang index.php:

2


require("../model/database.php");
require("../model/danhmuc_db.php");
if(isset($_POST["action"])){
$action = $_POST["action"];
}
else if(isset($_GET["action"])){
$action = $_GET["action"];

}
else{
$action="dsdanhmuc";
}
switch($action){
case "dsdanhmuc":
$bangdm = laydanhmuc();
include("dsdanhmuc.php");
break;
default:
break;
}
?>



Trang dsdanhmuc.php:
<?php include("../view/header.php"); ?>
<div id="main">

Danh mục


<table>
<tr>
<th>Tên</th>
</tr>
<?php foreach($bangdm as $dm){ ?>
<tr>
<td><?php echo $dm["tendm"]; ?></td>
</tr>
<?php } ?>
</table>

</div>
<?php include("../view/footer.php"); ?>

Chạy thử ứng dụng để kiểm tra kết quả (qldanhmuc):

3


Tự thực hành:
Bổ sung chức năng Thêm, Xóa như hình:

Hướng dẫn:


Trang index.php:



Trang dsdanhmuc.php:

4


BÀI TẬP THỰC HÀNH 04
Mục đích:
 Làm quen với cách viết hướng đối tượng.
Yêu cầu:
Viết lại các trang database.php, danhmuc_db.php thành các lớp (tổ chức các tập tin
như bài thực hành 03).
Hướng dẫn:



Trang database.php:

include("profiles.php");
class DATABASE{
private static $username = DB_USER;
private static $password = DB_PASS;
private static $options = array(PDO::ATTR_ERRMODE=>PDO::ERRMODE_EXCEPTION);
private static $dns = "mysql:host=localhost;dbname=qlhh;port=3306";
private static $db;
private function __construct(){}
public static function taoketnoi(){
if(!isset(self::$db)){
try{
self::$db = new PDO(self::$dns,
self::$username,
self::$password,
self::$options);
}
catch(PDOException $e){
$error_message = $e->getMessage();
include("../view/database_error.php");
exit();
}
}
return self::$db;
}
public static function dongketnoi(){

self::$db = null;
}
}
?>



Trang danhmuc_db.php:

class DANHMUC_DB{
public function laytatcadanhmuc(){
$db = DATABASE::taoketnoi();
try{
$sql = "SELECT * FROM danhmuc";
$cmd = $db->prepare($sql);
$cmd->execute();
$ketqua = $cmd->fetchAll();
return $ketqua;

1


}
catch(PDOException $e){
$error_message = $e->getMessage();
include("../view/database_error.php");
exit();
}
}

public function laytendanhmuctheoma($ma){
$db = DATABASE::taoketnoi();
try{
$sql = "SELECT * FROM danhmuc WHERE madm=:ma";
$cmd = $db->prepare($sql);
$cmd->bindValue(":ma", $ma);
$cmd->execute();
$dm = $cmd->fetch();
$ketqua = $dm["tendm"];
return $ketqua;
}
catch(PDOException $e){
$error_message = $e->getMessage();
include("../view/database_error.php");
exit();
}
}
}
?>



Trang index.php:

require("../model/database.php");
require("../model/danhmuc_db.php");
// Lấy yêu cầu
if(isset($_REQUEST["action"])){
$action = $_REQUEST["action"];

}
else{
$action="dsdanhmuc";
}
// Lấy danh mục hiện hành
if(isset($_GET["madm"])){
$madm = $_GET["madm"];
}
else{
$madm = 1;
}
$danhmuc_db = new DANHMUC_DB();
switch($action){
case "dsdanhmuc":
$bangdm = $danhmuc_db->laytatcadanhmuc();
$tendm = $danhmuc_db->laytendanhmuctheoma($madm);
include("dsdanhmuc.php");
break;
default:
break;
}
?>

2




Trang dsdanhmuc.php:


<?php include("../view/header.php"); ?>
<div id="main">
<div id="sidebar">
<ul>
<?php foreach($bangdm as $d){ ?>
<li>
?></a></li>
<?php } ?>
</ul>
</div>
<div id="content">

<?php echo $tendm; ?>


</div>
</div>
<?php include("../view/footer.php"); ?>

Chạy kiểm tra kết quả:

3


BÀI TẬP THỰC HÀNH 05
Mục đích:
 Minh họa chức năng đăng ký, đăng nhập cơ bản.
Yêu cầu:
1. Bổ sung thêm vào CSDL các bảng:

nguoidung

diachi


mand

INT-AI-PRIMARY

madc

INT-AI-PRIMARY

email

VARCHAR(50)

diachi

VARCHAR(50)

matkhau

VARCHAR(50)

quanhuyen

VARCHAR(50)

hoten

VARCHAR(50)

tinhthanh


VARCHAR(50)

loaind

TINYINT

dienthoai

VARCHAR(50)

mand

INT

2. Trong thư mục model, viết các lớp sau:
 nguoidung_db.php: có các phương thức: thêm người dùng, kiểm tra người dùng
hợp lệ, lấy thông tin người dùng.
 diachi_db.php: phương thức thêm địa chỉ.
3. Tạo thư mục khachhang (controller), viết các trang sau:
 regisform.php: form đăng ký người dùng/khách hàng mới.
 loginform.php: form đăng nhập.
 index.php: trang điều khiển chính.
 main.php: nếu đăng nhập thành cơng sẽ hiển thị trang này.
Hướng dẫn:


Tạo bảng nguoidung:




Lớp nguoidung_db.php:
1


class NGUOIDUNG_DB{
// khai báo các thuộc tính (SV tự viết)
public function kiemtranguoidunghople($email,$matkhau){
$db = DATABASE::taoketnoi();
try{
$sql = "SELECT * FROM nguoidung WHERE email=:email AND
matkhau=:matkhau";
$cmd = $db->prepare($sql);
$cmd->bindValue(":email", $email);
$cmd->bindValue(":matkhau", md5($matkhau));
$cmd->execute();
$valid = ($cmd->rowCount () == 1);
$cmd->closeCursor ();
return $valid;
}
catch(PDOException $e){
$error_message=$e->getMessage();
include("../view/database_error.php");
exit();
}
}
public function laythongtinnguoidung($email){
$db = DATABASE::taoketnoi();
try{

$sql = "SELECT * FROM nguoidung WHERE email=:email";
$cmd = $db->prepare($sql);
$cmd->bindValue(":email", $email);
$cmd->execute();
$ketqua = $cmd->fetch();
$cmd->closeCursor();
return $ketqua;
}
catch(PDOException $e){
$error_message=$e->getMessage();
include("../view/database_error.php");
exit();
}
}
public function themnguoidung($email,$matkhau,$hoten){
$db = DATABASE::taoketnoi();
try{
$sql = "INSERT INTO nguoidung(email,matkhau,hoten)
VALUES(:email,:matkhau,:hoten)";
$cmd = $db->prepare($sql);
$cmd->bindValue(':email',$email);
$cmd->bindValue(':matkhau',md5($matkhau));
$cmd->bindValue(':hoten',$hoten);
$cmd->execute();
$makh = $db->lastInsertId();
return $makh;
}
catch(PDOException $e){
$error_message=$e->getMessage();
include("../view/database_error.php");

exit();
}
}
}
?>

2




Trang loginform.php:

<?php include("../view/header.php"); ?>
<div id="content">

ĐĂNG NHẬP


<form method="post" action="index.php">
<fieldset>
<input type="text" name="txtemail" placeholder="Tên" required>


required>


<input type="hidden" name="action" value="xldangnhap" >
<input type="submit" value="Đăng nhập">
<input type="reset" value="Làm lại">
</fieldset></form>
<form method="post" action="regisform.php">
Chưa có tài khoản? Đăng ký tại đâyvalue="dangky" >
<input type="submit" value="Đăng ký">
</form>

</div>
<?php include("../view/footer.php"); ?>



Trang regisform.php:

<?php include("../view/header.php"); ?>
<div id="content">

ĐĂNG KÝ


<form method="post" action="index.php">
<fieldset><legend>Thông tin khách hàng</legend>
<input type="email" name="txtemail" placeholder="Email" required>

<input type="password" name="txtmatkhau" placeholder="Mật khẩu" required>

required>

<input type="text" name="txthoten" placeholder="Họ tên" required>

</fieldset>
<fieldset><legend>Địa chỉ giao nhận</legend>
<input type="text" name="txtdiachi" placeholder="Địa chỉ" required>

<input type="text" name="txtquanhuyen" placeholder="Quận/Huyện" required>

required>

<input type="number" name="txtdienthoai" placeholder="Điện thoại" required>

</fieldset>

3


<input type="hidden" name="action" value="xldangky" >

<input type="submit" value="Đăng ký">
<input type="reset" value="Làm lại">
</form>
</div>
<?php include("../view/footer.php"); ?>



Trang main.php:

// 1. Xuất thông tin khách hàng
// 2. Thông tin đơn hàng (sẽ thực hiện ở bài kế)
// Lấy thông tin từ session
$hoten = $_SESSION["khachhang"]["hoten"];
?>
<?php include("../view/header.php"); ?>
<div>

Chào <?php echo $hoten; ?>!


<!-- Bổ sung chức năng thoát / signout (SV tự viết) -->
</div>

4


<?php include("../view/footer.php"); ?>



Trang index.php:


require("../ultils/main.php");
require("../model/database.php");
require("../model/nguoidung_db.php");
// Biến cho biết khách hàng đăng nhập chưa
$isLogin = isset($_SESSION["khachhang"]);
if(isset($_REQUEST["action"])){
$action = $_REQUEST["action"];
}
elseif($isLogin == FALSE){
$action = "dangnhap";
}
else{
$action="main";
}
$kh_db = new NGUOIDUNG_DB();
switch($action){
case "main":
include("main.php");
break;
case "thoat":
unset($_SESSION["khachhang"]);
header("Location: .");
break;
case "dangnhap":
include("loginform.php");
break;
case "xldangnhap":
$email = $_POST["txtemail"];

$matkhau = $_POST["txtmatkhau"];
if($kh_db->kiemtranguoidunghople($email,$matkhau)==TRUE){
$_SESSION["khachhang"] = $kh_db->laythongtinnguoidung($email);
include("main.php");
}
else{
display_error("Đăng nhập không thành công!");
}
break;
case "dangky":
include("regisform.php");
break;
case "xldangky":
$email = $_POST["txtemail"];
$matkhau = $_POST["txtmatkhau"];
$hoten = $_POST["txthoten"];
$diachi = $_POST["txtdiachi"];
$quanhuyen = $_POST["txtquanhuyen"];
$tinhthanh = $_POST["txttinhthanh"];
$dienthoai = $_POST["txtdienthoai"];
/* Lưu ý: Trước khi thêm cần kiểm tra (bằng javascript hoặc php):
- Email không trùng/chưa tồn tại trong CSDL?
- Mật khẩu gõ 2 lần có khớp nhau
*/
// 1. Thêm thông tin người dùng
$makh = $kh_db->themnguoidung($email,$matkhau,$hoten);
// 2. Thêm địa chỉ giao nhận (SV tự viết)

5



header("Location: .");
break;
default:
break;
}
?>

Bài tập làm thêm
Bổ sung các chức năng:



Cập nhật thông tin người dùng (người dùng tự thực hiện).
Reset mật khẩu, Phân quyền đơn giản (chỉ admin thực hiện).

6


BÀI TẬP THỰC HÀNH 06
Mục đích:
 Minh họa chức năng mua hàng.
Yêu cầu:
1. Trong thư mục model, viết lớp giohang_db.php gồm các phương thức xử lý hàng
trong giỏ.
2. Tạo trang chủ mặc định cho ứng dụng, tại thư mục gốc của ứng dụng có các trang
sau:
 index.php: trang điều khiển ứng dụng.
 home.php: hiển thị (tùy ý) các mặt hàng mới, hàng bán chạy, hàng nổi bật, ...
3. Tạo thư mục giohang, viết các trang sau:

 mathang.php: hiển thị thông tin chi tiết mặt hàng được chọn, có thể nhập số lượng
và chọn mua (đưa hàng vào giỏ).
 index.php: trang điều khiển giỏ hàng.
 main.php: hiển thị thông tin giỏ hàng.
Hướng dẫn:


Lớp giohang_db:

// Tạo mảng SESSION giohang rỗng (khi khách hàng mới sử dụng lần đầu)
if (!isset($_SESSION['giohang']) ) {
$_SESSION['giohang'] = array();
}
// Hàm thêm mặt hàng vào giỏ
function themhangvaogio($mahang, $soluong) {
//Tạo thể hiện của lớp mathang_db
$mh_db = new MATHANG_DB();
//Cập nhập Số lượng và SESSION - Làm trịn
$_SESSION['giohang'][$mahang] = round($soluong, 0);
//Lấy thơng tin của mặt hàng dựa vào $mahang
$mh = $mh_db->laymathangtheoma($mahang);
//Cập nhật thông tin của Mã danh mục và Tên danh mục vào SESSION
$_SESSION['madm_cuoi'] = $mh['madm'];
$_SESSION['tendm_cuoi'] = $mh['tendm'];
}
// Hàm lấy thông tin các mặt hàng có trong giỏ hàng
function laygiohang() {
//Tạo mảng rỗng để lưu danh sách mặt hàng trong giỏ
$mh = array();

$mh_db = new MATHANG_DB();
//Duyệt mảng SESSION giohang lấy từng Mã hàng (mahang) và Số lượng (soluong)
foreach ($_SESSION['giohang'] as $mahang => $soluong ) {
// Lấy thông tin mặt hàng theo mã
$m = $mh_db->laymathangtheoma($mahang);
$dongia = $m['giaban'];
$solg = intval($soluong);
// Tính tiền
$sotien = round($dongia * $soluong, 2);

1


// Lưu thông tin trong mảng items để hiển thị lên giỏ hàng
$mh[$mahang]['tenhang'] = $m['tenhang'];
$mh[$mahang]['giaban'] = $dongia;
$mh[$mahang]['soluong'] = $solg;
$mh[$mahang]['sotien'] = $sotien;
}
return $mh;
}
// Hàm đếm số mặt hàng trong giỏ hàng
function demhangtronggio() {
return count($_SESSION['giohang']);
}
// Hàm tính tổng thành tiền trong giỏ hàng
function tinhtiengiohang () {
$tong = 0;
$giohang = laygiohang();
foreach ($giohang as $mh) {

$tong += $mh['giaban'] * $mh['soluong'];
}
return $tong;
}
?>



Trang index.php (trong thư mục gốc ứng dụng):

require("ultils/main.php");
require("model/database.php");
require("model/danhmuc_db.php");
require("model/mathang_db.php");
$dm_db = new DANHMUC_DB();
$mh_db = new MATHANG_DB();
if(isset($_REQUEST["action"])){
$action = $_REQUEST["action"];
}
else{
$action="macdinh";
}
switch($action){
case "macdinh":
$mathang = $mh_db->laymathang();
include("home.php");
break;
case "xemchitiet":
if(isset($_REQUEST["mahang"])){

$ma = $_REQUEST["mahang"];
}
$mh = $mh_db->laymathangtheoma($ma);
include("giohang/mathang.php");
break;
default:
break;
}
?>



Trang home.php (trong thư mục gốc ứng dụng):

<?php include("view/header.php"); ?>
<div id="content">

2


Danh sách sản phẩm


<table>
foreach($mathang as $mh){
$ma = $mh["mahang"];
$ten = $mh["tenhang"];
$gia = number_format($mh["giaban"]) . "đ";
$url = $app_path . $mh["hinhanh"];
?>
<tr><td>

<fieldset>
<legend class="bg-info">
<?php echo $ten; ?></a></legend>

Tên mặt hàng: <b><?php echo $ten; ?></b>


Giá bán: <b><?php echo $gia; ?></b>


Hình ảnh: $ten = $mh["tenhang"];

3



×