Khoá học lập trình PHP/MySQL [Video] Trang quản lý sản phẩm php - Lập trình PHP

  • 5.0/5.0
  • 2k Đăng ký
  • Học lập trình
  • Tiếng việt

Thông tin khóa học

Mở bài

Trong bất kỳ hệ thống thương mại điện tử hoặc website bán hàng nào, trang quản lý sản phẩm luôn đóng vai trò trọng tâm. Đây là nơi giúp quản trị viên hoặc chủ cửa hàng có thể dễ dàng thêm mới, chỉnh sửa, xóa, sắp xếp và theo dõi thông tin sản phẩm. Dù bạn đang phát triển một dự án nhỏ học PHP hay đang xây dựng một website thực tế cho doanh nghiệp, việc hiểu và tạo được một trang quản lý sản phẩm hoàn chỉnh bằng PHP và MySQL là kỹ năng vô cùng quan trọng.

Thông qua việc lập trình trang quản lý sản phẩm, bạn sẽ học được cách kết nối cơ sở dữ liệu, xử lý form trong PHP, upload hình ảnh, phân trang, tìm kiếm sản phẩmbảo mật dữ liệu người dùng. Không chỉ là kiến thức nền tảng, đây còn là bước đệm để bạn tiến tới các kỹ năng nâng cao như xây dựng API, framework MVC, hoặc hệ thống quản lý nội dung (CMS).

Bài viết này sẽ hướng dẫn chi tiết từng bước — từ việc thiết kế cơ sở dữ liệu, viết mã PHP quản lý CRUD (Create – Read – Update – Delete), đến tối ưu trải nghiệm người dùng và bảo mật hệ thống. Hãy cùng tìm hiểu cách xây dựng một trang quản lý sản phẩm PHP chuẩn, hiệu quả và dễ mở rộng.


Tổng quan về chức năng trang quản lý sản phẩm

Một trang quản lý sản phẩm cơ bản thường bao gồm các chức năng chính:

  • Thêm sản phẩm mới: nhập tên, giá, mô tả, danh mục, hình ảnh.

  • Danh sách sản phẩm: hiển thị các sản phẩm trong bảng có phân trang.

  • Chỉnh sửa sản phẩm: cập nhật thông tin khi cần thay đổi.

  • Xóa sản phẩm: loại bỏ sản phẩm không còn bán.

  • Tìm kiếm & lọc: hỗ trợ tìm theo tên, danh mục hoặc khoảng giá.

Lợi ích khi xây dựng trang quản lý bằng PHP

  1. Chủ động toàn bộ mã nguồn: bạn hiểu rõ từng dòng code, dễ dàng mở rộng hoặc chỉnh sửa.

  2. Hiệu năng ổn định: PHP kết hợp MySQL cho tốc độ xử lý nhanh và dễ triển khai.

  3. Tích hợp linh hoạt: có thể kết hợp với JavaScript, Bootstrap hoặc Ajax để tối ưu giao diện.

  4. Học sâu về backend: nắm vững logic CRUD, xử lý form, upload file, pagination, security.

Một trang quản lý sản phẩm PHP/MySQL không chỉ giúp bạn hiểu về cách xây dựng hệ thống quản trị nội dung mà còn là nền tảng để phát triển website bán hàng, ứng dụng thương mại điện tử hoặc hệ thống quản lý kho.


Thiết kế cơ sở dữ liệu sản phẩm

Trước khi viết mã PHP, ta cần thiết kế bảng trong MySQL để lưu trữ thông tin sản phẩm. Một cấu trúc đơn giản có thể như sau:

CREATE TABLE products ( id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(255) NOT NULL, description TEXT, price DECIMAL(10,2) NOT NULL, category VARCHAR(100), image VARCHAR(255), created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP );

Giải thích:

  • id: khóa chính duy nhất cho mỗi sản phẩm.

  • name: tên sản phẩm.

  • description: mô tả chi tiết.

  • price: giá bán.

  • category: danh mục sản phẩm.

  • image: đường dẫn đến file ảnh sản phẩm.

  • created_at: thời gian thêm sản phẩm.

Bạn có thể tạo thêm bảng categories nếu muốn quản lý danh mục tách biệt, giúp mở rộng linh hoạt hơn.


Kết nối PHP với MySQL

Để tương tác với cơ sở dữ liệu, ta cần tạo kết nối MySQL trong PHP. Ví dụ:

<?php $host = 'localhost'; $db = 'shopdb'; $user = 'root'; $pass = ''; try { $pdo = new PDO("mysql:host=$host;dbname=$db;charset=utf8", $user, $pass); $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); } catch (PDOException $e) { die("Lỗi kết nối: " . $e->getMessage()); } ?>

Sử dụng PDO giúp code an toàn hơn, tránh SQL Injection và dễ dàng quản lý lỗi khi thao tác với database.


Xây dựng chức năng thêm sản phẩm (Create)

Form thêm sản phẩm sẽ gồm các trường: tên, mô tả, giá, danh mục, hình ảnh.

<form method="POST" enctype="multipart/form-data"> <input type="text" name="name" placeholder="Tên sản phẩm" required> <textarea name="description" placeholder="Mô tả"></textarea> <input type="number" name="price" placeholder="Giá" required> <input type="text" name="category" placeholder="Danh mục"> <input type="file" name="image"> <button type="submit" name="add">Thêm sản phẩm</button> </form>

Và phần xử lý PHP:

if (isset($_POST['add'])) { $name = $_POST['name']; $desc = $_POST['description']; $price = $_POST['price']; $cat = $_POST['category']; $img = $_FILES['image']['name']; $target = "uploads/" . basename($img); if (move_uploaded_file($_FILES['image']['tmp_name'], $target)) { $sql = "INSERT INTO products (name, description, price, category, image) VALUES (?,?,?,?,?)"; $stmt = $pdo->prepare($sql); $stmt->execute([$name, $desc, $price, $cat, $img]); } }

Lưu ý SEO & UX:

  • Đặt tên ảnh có ý nghĩa: iphone-15-pro.jpg thay vì img123.jpg.

  • Validate dữ liệu trước khi lưu.

  • Giới hạn kích thước ảnh để tối ưu tải trang.


Hiển thị danh sách sản phẩm (Read)

Trang danh sách sẽ hiển thị tất cả sản phẩm trong bảng có tùy chọn chỉnh sửa hoặc xóa.

$stmt = $pdo->query("SELECT * FROM products ORDER BY id DESC"); while ($row = $stmt->fetch()) { echo "<tr> <td>{$row['id']}</td> <td>{$row['name']}</td> <td>{$row['price']}₫</td> <td><img src='uploads/{$row['image']}' width='60'></td> <td><a href='edit.php?id={$row['id']}'>Sửa</a> | <a href='delete.php?id={$row['id']}'>Xóa</a></td> </tr>"; }

Để cải thiện hiệu năng và trải nghiệm người dùng:

  • Sử dụng phân trang (pagination) khi có nhiều sản phẩm.

  • Thêm ô tìm kiếm theo tên hoặc danh mục.

  • Sắp xếp theo giá hoặc ngày thêm mới.

Ví dụ phân trang cơ bản:

$limit = 10; $page = isset($_GET['page']) ? $_GET['page'] : 1; $start = ($page - 1) * $limit; $stmt = $pdo->prepare("SELECT * FROM products LIMIT $start, $limit"); $stmt->execute();

Chức năng chỉnh sửa sản phẩm (Update)

Khi người quản trị cần cập nhật thông tin, ta sẽ hiển thị form điền sẵn dữ liệu hiện tại.

$id = $_GET['id']; $stmt = $pdo->prepare("SELECT * FROM products WHERE id=?"); $stmt->execute([$id]); $product = $stmt->fetch(); if (isset($_POST['update'])) { $name = $_POST['name']; $price = $_POST['price']; $desc = $_POST['description']; $sql = "UPDATE products SET name=?, description=?, price=? WHERE id=?"; $stmt = $pdo->prepare($sql); $stmt->execute([$name, $desc, $price, $id]); }

Lưu ý UX:

  • Hiển thị hình ảnh hiện tại, cho phép người dùng upload ảnh mới hoặc giữ nguyên.

  • Xác nhận trước khi lưu thay đổi.

  • Tự động chuyển hướng lại trang danh sách sau khi cập nhật thành công.


Chức năng xóa sản phẩm (Delete)

Xóa sản phẩm nên có bước xác nhận để tránh thao tác nhầm.

$id = $_GET['id']; $stmt = $pdo->prepare("DELETE FROM products WHERE id=?"); $stmt->execute([$id]); header("Location: products.php");

Bạn nên:

  • Thêm popup xác nhận bằng JavaScript: “Bạn có chắc chắn muốn xóa sản phẩm này?”.

  • Kiểm tra quyền người dùng (chỉ admin mới được phép xóa).

  • Nếu sản phẩm liên kết với đơn hàng, nên ẩn thay vì xóa vĩnh viễn.


Tối ưu giao diện và trải nghiệm người dùng

Một trang quản lý tốt không chỉ chạy đúng mà còn dễ sử dụng và trực quan. Gợi ý:

  1. Sử dụng Bootstrap hoặc TailwindCSS để tạo bố cục đẹp, responsive.

  2. Thêm thanh tìm kiếm nhanh và bộ lọc danh mục.

  3. Dùng AJAX để thêm/xóa sản phẩm mà không tải lại trang.

  4. Hiển thị thông báo thành công/lỗi rõ ràng bằng alert hoặc toast.

  5. Hỗ trợ upload nhiều hình ảnh nếu website yêu cầu.

Ví dụ, bạn có thể dùng DataTables (jQuery plugin) để hiển thị danh sách sản phẩm với sorting, filtering và pagination tự động.


Bảo mật và tối ưu hiệu năng

Một trong những phần quan trọng nhất khi lập trình PHP là bảo mật. Với trang quản lý sản phẩm, bạn nên lưu ý:

  • Sử dụng prepared statement để chống SQL Injection.

  • Kiểm tra định dạng file upload (chỉ cho phép jpg/png).

  • Xác thực quyền truy cập (login session để vào trang quản trị).

  • Ẩn thông báo lỗi server để tránh lộ cấu trúc hệ thống.

  • Giới hạn quyền ghi thư mục uploads/.

  • Tối ưu truy vấn với chỉ số (index) trong MySQL khi dữ liệu lớn.

Hiệu năng có thể được cải thiện bằng cách:

  • Caching kết quả danh sách sản phẩm.

  • Dùng lazy load ảnh.

  • Áp dụng CDN nếu website có lượng truy cập lớn.


Mở rộng tính năng: tìm kiếm, lọc và sắp xếp sản phẩm

Để trang quản lý trở nên chuyên nghiệp hơn, bạn có thể bổ sung:

  • Tìm kiếm theo tên hoặc danh mục:

    $keyword = $_GET['q'] ?? ''; $stmt = $pdo->prepare("SELECT * FROM products WHERE name LIKE ?"); $stmt->execute(['%' . $keyword . '%']);
  • Lọc theo danh mục hoặc khoảng giá.

  • Sắp xếp theo cột: giá tăng/giảm, ngày mới nhất.

  • Xuất danh sách sản phẩm ra file Excel hoặc PDF để tiện quản lý.

Những tính năng này giúp quản trị viên dễ dàng thao tác và nâng cao giá trị thực tiễn cho hệ thống.


Kết luận

Trang quản lý sản phẩm là trái tim của mọi website bán hàng hoặc hệ thống thương mại điện tử. Việc xây dựng nó bằng PHP và MySQL không chỉ giúp bạn rèn luyện kỹ năng lập trình thực tế mà còn mở ra khả năng phát triển hệ thống lớn hơn như website bán hàng hoàn chỉnh, CMS hay API backend.

Qua bài viết này, bạn đã nắm được quy trình tổng thể từ thiết kế cơ sở dữ liệu, kết nối PHP/MySQL, thực hiện CRUD, phân trang, tìm kiếm, upload ảnh, đến tối ưu bảo mật và giao diện người dùng.

Hãy bắt đầu ngay hôm nay — tự xây dựng một trang quản lý sản phẩm PHP từ đầu, áp dụng từng bước hướng dẫn ở trên. Khi đã nắm vững, bạn sẽ dễ dàng mở rộng sang các dự án lớn hơn, chẳng hạn như hệ thống bán hàng trực tuyến, web quản lý kho, hoặc nền tảng thương mại điện tử mini. Đó chính là con đường thực tế nhất để trở thành lập trình viên PHP chuyên nghiệp!

Đăng nhập để làm bài kiểm tra

Chưa có kết quả nào trước đó

Chương trình

Tài Liệu Học PHP & MySQL

Video Lập trình PHP Basic - Biến, Hằng, Toán Tử và Mảng trong PHP - Lập Trình PHP
Echo trong PHP - Hiển thị bảng thông tin sinh viên bằng PHP
Video Hướng dẫn lập trình PHP căn bản với if, else if, else, switch- lập trình PHP
Video Lập trình PHP basic - for, while, do while, foreach, function - lập trình PHP
Video Hướng dẫn lập trình PHP căn bản - Function - lập trình PHP
Sinh ngẫu nhiên mảng gồm N số nguyên trong PHP - Sắp xếp mảng trong PHP
Fibonacci trong PHP - Lập Trình PHP - Khoá học lập trình PHP
Tính tổng các số nguyên từ 0 tới N bằng PHP
In tam giác * bằng PHP, in tam giác sao bằng PHP, in hình tam giác * băng PHP
Hiển thị ngẫu nhiên N quyển sách bằng PHP - Quản lý sách bằng PHP

Video Hướng dẫn học lập PHP căn bản - Tìm hiểu GET/POST - lập trình PHP
Tạo máy tinh căn bản bằng PHP - Calculator in PHP
Video Hướng dẫn tạo dự án calculator bang PHP + JS - Lập trình PHP
Video Ajax: Hướng dẫn tạo máy tính bằng PHP - Sử dụng Ajax - GET/POST form trong PHP - Lập trình PHP
Video Form đăng ký tài khoản bằng PHP (GET/POST)- Form PHP
Form đăng ký tài khoản người dùng - Registation Form trong PHP - Lập trình PHP - Lập Trình PHP MySQL
Video Hướng dẫn chữa bài tập đăng ký & đăng nhập sử dụng GET & POST - Lập trình PHP
Chương trình quản lý sinh viên PHP - Yêu cầu sử dụng GET/POST trong PHP - Lập trình PHP

Video Lập trình PHP căn bản - cookie - lập trình PHP
Video Hướng dẫn tìm hiểu cookie - Quản lý xác minh tài khoản login - cookie - Lập trình PHP/MySQL
Sử dụng cookie trong PHP - quản lý đăng ký & đăng nhập tài khoản trong PHP - Lập Trình PHP

Video Lập trình PHP căn bản - session - lập trình PHP
Video Thành thạo API - Ajax trọng dự án - Thành thạo về Session - Lập trình PHP/MySQL

Video Thực hiện truy vấn dữ liệu từ PHP tới MySql - Khoá học PHP căn bản
Video Kết nối PHP với MySQL (Thực hiện insert) - Khoá PHP căn bản
Video Tối ưu hoá code mysql + php, tạo thư viện chung trong lập trình PHP căn bản
Video Tạo web tin tức - PHP/MySQL
Bài tập - Tạo website bán hàng lư niệm - Login - Lập trình PHP/MySQL
Bài tập - Tạo trang login và register - kết nối CSDL trong PHP - Lập trình PHP/MySQL
Video Thực hiện đăng nhập tài khoản sử dụng php mysql - khoá học PHP căn bản
Thêm - sửa - xoá thông tin sinh viên - Lập trình PHP
Bài tập - Xây dựng cart (giỏ hàng) + checkout (thanh toán) sử dụng Cookie & localStorage - Lập trình PHP/MySQL
VideoCookie: Xây dựng cart (giỏ hàng) + checkout (thanh toán) sử dụng Cookie & localStorage - Lập trình PHP/MySQL
Video Session: Xây dựng web hoàn thiện gồm cart page + checkout page + complete page - Lập trình PHP/MySQL
Bài tập - Thiết kế trang admin quản lý thư viện sử dụng bootstrap template - Lập trình PHP/MySQL
Trang quản lý sản phẩm php - Lập trình PHP
Video Trang quản lý sản phẩm php - Lập trình PHP
Quản lý sách bằng PHP - trang quản trị sách bằng PHP - Lập trình PHP
Viết website quản lý sinh viên PHP & MySQL - Lập Trình PHP
Video Viết website quản lý sinh viên PHP & MySQL - Lập Trình PHP
Video Hướng dẫn phân trang bằng PHP - Lập trình PHP
Viết website quản lý sinh viên PHP & MySQL- Xử lý bằng Ajax - Lập Trình PHP
Bài tập - ứng dụng quản lý ghi chú - Lập trình PHP/MySQL
Xây dựng website bán điện thoại kết nối database (CSDL) - Lập trình PHP/MySQL
Bài tập - Thiết kế website bán hàng lưu niệm - giỏ hàng, thanh toán - Lập trình PHP/MySQL

Video OOP - Lập trình php
Video Kế thừa OOP - Lập trình php
Video Nắm chắc token login - Hướng dẫn login login multi devices, browsers trong lập trình PHP/MySQL
Video Trở thành chuyên gia API Server - Hướng dẫn tất tần tật về API từ Server tới Client - Lập trình PHP

[Examination] Kiểm Tra 60 phút - Test nhanh - Khóa học PHP
Video Kiểm Tra 60 phút - Test nhanh - Khóa học PHP

Xây dựng website bán hoa quả bằng PHP/MySQL - Lập trình PHP/MySQL
Video Xây dựng website bán hoa quả bằng PHP/MySQL - Lập trình PHP/MySQL - Phần 1
Video Xây dựng website bán hoa quả bằng PHP/MySQL - Lập trình PHP/MySQL - Phần 2
Video Xây dựng website bán hoa quả bằng PHP/MySQL - Lập trình PHP/MySQL - Summernote editor - Phần 3
Video Xây dựng website bán hoa quả bằng PHP/MySQL - Lập trình PHP/MySQL - Phần 4
Video Xây dựng website bán hoa quả bằng PHP/MySQL - Lập trình PHP/MySQL - Phần 5

Video Hướng dẫn upload website lên server -Hướng dẫn deploy project php trên heroku - Cài đặt Heroku
Nguyễn Văn An
Nguyễn Văn An
2026-06-22 10:38:38
Khóa học cực kỳ chất lượng, giảng viên hướng dẫn rất chi tiết và dễ hiểu. Mình đã áp dụng được ngay vào công việc thực tế.
Trần Thị Bích
Trần Thị Bích
2026-06-19 10:38:38
Nội dung bài giảng được sắp xếp logic, đi từ cơ bản đến nâng cao. Rất phù hợp cho người mới bắt đầu.
Lê Hoàng Hải
Lê Hoàng Hải
2026-06-17 10:38:38
Khóa học hay, tuy nhiên phần bài tập thực hành hơi khó một chút. Cần phải xem lại video vài lần mới làm được.
Phạm Minh Tuấn
Phạm Minh Tuấn
2026-06-10 10:38:38
Tuyệt vời! Đây là khóa học tốt nhất mình từng tham gia. Support nhiệt tình, giải đáp thắc mắc rất nhanh.

Đánh giá

B1. B1. Tạo tài khoản -> Sử dụng để học online
B2. Đăng ký học
B3. Hoàn thành mua khoá học
B4. Thanh toán theo hướng dẫn
B5. Đợi chúng tôi kiểm tra thông tin và thêm bạn vào lớp học

Chào mừng các anh chị và các bạn gia nhập đội ngũ Giảng viên QViet. Anh chị vui lòng đăng ký theo hướng dẫn sau:
Bước 1: Truy cập website https://gozic.vn/teacher/form
Bước 2: Điền thông tin theo yêu cầu. Để bản đăng ký được duyệt nhanh nhất, anh chị hãy điền đủ thông tin nhé.
Bước 3: Click vào "đăng ký ngay" để hoàn thành
Lưu ý:
Link video bài giảng mẫu: Video bài giảng mẫu là căn cứ để Trắc Nghiệm Việt duyệt về hình thức và chất lượng giảng dạy. Vì vậy anh chị hãy điền link này để đăng ký được duyệt nhanh nhất nhé.
Anh chị cũng nên mô tả kỹ về kinh nghiệm giảng dạy để Trắc Nghiệm Việt đánh giá nhé.
Chúc các anh chị và các bạn thành công, sớm gia nhập đội ngũ giảng viên Trắc Nghiệm Việt!

499,000 VNĐ

1,099,000 VNĐ

Tổng quan khóa học
  • Bài học 59
  • Thời gian Linh hoạt
  • Mức độ Mới bắt đầu
  • Ngôn ngữ Tiếng việt
  • Chứng chỉ Không

avatar
Trần Văn Điệp

Founder tại QViet.vn

×