Xây dựng hệ thống quản lý bài viết đơn giản
Sau khi đã học:
✅ Kết nối MySQL bằng PHP
✅ INSERT dữ liệu
✅ SELECT dữ liệu
✅ UPDATE dữ liệu
✅ DELETE dữ liệu
Bây giờ chúng ta sẽ ghép tất cả lại thành một hệ thống CRUD hoàn chỉnh.
CRUD là 4 thao tác quan trọng nhất khi làm website:
📝 C — Create → Thêm dữ liệu
👀 R — Read → Xem dữ liệu
✏️ U — Update → Sửa dữ liệu
🗑️ D — Delete → Xóa dữ liệu
1️⃣ CRUD là gì?
CRUD xuất hiện trong hầu hết website:
🌐 Blog
🛒 Website bán hàng
👥 Quản lý thành viên
📚 Quản lý khóa học
📰 Quản lý bài viết
Ví dụ:
Bảng posts
| ID | Title | Content |
|---|---|---|
| 1️⃣ | Học PHP | PHP cơ bản 8.2 |
| 2️⃣ | Học MySQL | Database căn bản |
Chúng ta sẽ tạo:
index.php
→ Hiển thị danh sách bài viết
create.php
→ Thêm bài viết
edit.php
→ Sửa bài viết
delete.php
→ Xóa bài viết
2️⃣ Tạo Database MySQL
Mở phpMyAdmin:
Tạo database:
CREATE DATABASE php_basic;
Chọn database:
USE php_basic;
Tạo bảng:
CREATE TABLE posts (
id INT AUTO_INCREMENT PRIMARY KEY,
title VARCHAR(255),
content TEXT
);
3️⃣ Kết nối Database
Tạo file:
config.php
Code:
<?php
$conn = mysqli_connect(
"localhost",
"root",
"",
"php_basic"
);
if(!$conn){
die("Lỗi kết nối database");
}
?>
Bây giờ tất cả file PHP sẽ dùng lại kết nối này.
4️⃣ READ — Hiển thị danh sách bài viết
File:
index.php
<?php
include "config.php";
$sql = "SELECT * FROM posts";
$result = mysqli_query($conn,$sql);
?>
<h1>
Danh sách bài viết
</h1>
<a href="create.php">
Thêm bài viết
</a>
<?php while($row=mysqli_fetch_assoc($result)){ ?>
<h3>
<?php echo $row['title']; ?>
</h3>
<p>
<?php echo $row['content']; ?>
</p>
<a href="edit.php?id=<?php echo $row['id']; ?>">
Sửa
</a>
<a href="delete.php?id=<?php echo $row['id']; ?>">
Xóa
</a>
<hr>
<?php } ?>
Kết quả:
Danh sách bài viết
Học PHP
Sửa | Xóa
Học MySQL
Sửa | Xóa
5️⃣ CREATE — Thêm bài viết
File:
create.php
<?php
include "config.php";
if(isset($_POST['submit'])){
$title = $_POST['title'];
$content = $_POST['content'];
$sql = "
INSERT INTO posts(title,content)
VALUES('$title','$content')
";
mysqli_query($conn,$sql);
header("location:index.php");
}
?>
<form method="post">
<input
type="text"
name="title"
placeholder="Tiêu đề">
<br>
<textarea
name="content"
placeholder="Nội dung">
</textarea>
<br>
<button name="submit">
Lưu
</button>
</form>
6️⃣ UPDATE — Sửa bài viết
File:
edit.php
Lấy ID:
$id=$_GET['id'];
Lấy dữ liệu cũ:
$sql="
SELECT *
FROM posts
WHERE id=$id
";
$result=mysqli_query($conn,$sql);
$row=mysqli_fetch_assoc($result);
Form sửa:
<form method="post">
<input
name="title"
value="<?php echo $row['title']; ?>"
>
<textarea name="content">
<?php echo $row['content']; ?>
</textarea>
<button name="update">
Cập nhật
</button>
</form>
Xử lý:
if(isset($_POST['update'])){
$title=$_POST['title'];
$content=$_POST['content'];
$sql="
UPDATE posts
SET
title='$title',
content='$content'
WHERE id=$id
";
mysqli_query($conn,$sql);
header("location:index.php");
}
7️⃣ DELETE — Xóa bài viết
File:
delete.php
Code:
<?php
include "config.php";
$id=$_GET['id'];
$sql="
DELETE FROM posts
WHERE id=$id
";
mysqli_query($conn,$sql);
header("location:index.php");
?>
8️⃣ Cấu trúc thư mục hoàn chỉnh
php-crud/
│
├── config.php
├── index.php
├── create.php
├── edit.php
├── delete.php
Đây chính là mô hình CRUD cơ bản.
9️⃣ Kiến thức đạt được sau bài 27
✅ Biết tạo database
✅ Biết tạo bảng MySQL
✅ Kết nối PHP + MySQL
✅ Hiển thị dữ liệu
✅ Thêm dữ liệu
✅ Sửa dữ liệu
✅ Xóa dữ liệu
🎯 Đây là nền tảng để học tiếp:
➡️ Login / Register
➡️ Admin Dashboard
➡️ Upload hình ảnh
➡️ OOP PHP
➡️ MVC
➡️ Laravel
🧠 Bài tập thực hành
Tạo hệ thống quản lý:
📚 Sách
Gồm:
id
name
author
price
Chức năng:
✅ Thêm sách
✅ Xem danh sách
✅ Sửa sách
✅ Xóa sách
x0




Không có nhận xét nào:
Đăng nhận xét