Hiển thị danh sách sản phẩm từ database
Tạo bởi Hoàng Vũ, chỉnh sửa cuối lúc 28 tháng 2, 2025
Trong bài học này, chúng ta sẽ kết nối với MySQL, truy vấn danh sách sản phẩm và hiển thị trên giao diện web. Ngoài ra, bài học sẽ bao gồm tìm kiếm và phân trang sản phẩm.

1. Hiển thị danh sách sản phẩm từ database
1.1 Kết nối với database
Tạo file kết nối config.php
<?php
$servername = "localhost";
$username = "root";
$password = "";
$database = "shop";
$conn = new mysqli($servername, $username, $password, $database);
if ($conn->connect_error) {
die("Kết nối thất bại: " . $conn->connect_error);
}
?>
1.2 Truy vấn danh sách sản phẩm
Tạo file products.php
<?php
include 'config.php';
$sql = "SELECT * FROM products";
$result = $conn->query($sql);
?>
<html>
<head>
<title>Danh sách sản phẩm</title>
</head>
<body>
<h2>Danh sách sản phẩm</h2>
<table border="1">
<tr>
<th>ID</th>
<th>Tên sản phẩm</th>
<th>Giá</th>
<th>Hình ảnh</th>
</tr>
<?php while ($row = $result->fetch_assoc()) { ?>
<tr>
<td><?php echo $row["id"]; ?></td>
<td><?php echo $row["name"]; ?></td>
<td><?php echo number_format($row["price"], 0, ',', '.'); ?> đ</td>
<td><img src="uploads/<?php echo $row["image"]; ?>" width="50"></td>
</tr>
<?php } ?>
</table>
</body>
</html>
1.3 Tìm kiếm sản phẩm
<form method="GET" action="products.php">
<input type="text" name="search" placeholder="Nhập tên sản phẩm...">
<button type="submit">Tìm kiếm</button>
</form>
<?php
if (isset($_GET["search"])) {
$search = $_GET["search"];
$sql = "SELECT * FROM products WHERE name LIKE '%$search%'";
$result = $conn->query($sql);
}
?>
1.4 Phân trang danh sách sản phẩm
<?php
$limit = 5;
$page = isset($_GET['page']) ? $_GET['page'] : 1;
$start = ($page - 1) * $limit;
$sql = "SELECT * FROM products LIMIT $start, $limit";
$result = $conn->query($sql);
$total_results = $conn->query("SELECT COUNT(id) AS total FROM products")->fetch_assoc()['total'];
$total_pages = ceil($total_results / $limit);
?>
<nav>
<?php for ($i = 1; $i <= $total_pages; $i++) { ?>
<a href="products.php?page=<?php echo $i; ?>"><?php echo $i; ?></a>
<?php } ?>
</nav>
2. Kết luận
- Cách kết nối với MySQL và truy vấn danh sách sản phẩm.
- Cách hiển thị sản phẩm trên giao diện web.
- Cách tìm kiếm sản phẩm theo tên.
- Cách phân trang danh sách sản phẩm.

Với hơn 10 năm kinh nghiệm lập trình web và từng làm việc với nhiều framework, ngôn ngữ như PHP, JavaScript, React, jQuery, CSS, HTML, CakePHP, Laravel..., tôi hy vọng những kiến thức được chia sẻ tại đây sẽ hữu ích và thiết thực cho các bạn.
Xem thêm

Chào, tôi là Vũ. Đây là blog hướng dẫn lập trình của tôi.
Liên hệ công việc qua email dưới đây.
lhvuctu@gmail.com