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 1BÀ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:
Trang 2 Trang database_error.php:
Trang category_list.php:
<?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">
Trang 3<link rel="stylesheet" type="text/css" href="css/main.css" />
</head>
<body>
<div id="page">
<div id="header">
<h1>ABC Shop</h1>
</div>
<div id="main">
<h1>Danh mục</h1>
<table>
<tr>
<th>Hãng</th>
</tr>
<?php foreach $result as $row){ ?>
<tr>
<td><?php echo $row["tendm"]; ?></td>
</tr>
<?php ?>
</table>
<br />
</div>
<div id="footer">
<p>© <?php echo date("Y"); ?> ABC Shop</p>
</div>
</div>
</body>
</html>
Trang product_list.php:
Đọc dữ liệu:
<?php
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 ;
}
}
Trang 4// 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">
<h1>ABC Shop</h1>
</div>
<div id="main">
<h1>Danh sách mặt hàng</h1>
<div id="sidebar">
<h2>Danh mục</h2>
<ul class="nav">
<?php foreach($bangdm as $r){ ?>
<li><a href="?madm=<?php echo $r["madm"]; ?>"> <?php echo $r["tendm"];
?>
</a></li>
<?php ?>
</div>
<! Hiển thị danh sách mặt hàng thuộc danh mục đã chọn >
<div id="content">
<h2><?php echo $tendm; ?></h2>
<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">
<p>© <?php echo date("Y"); ?> ABC Shop</p>
</div>
</div>
</body>