🎯 Mục tiêu bài học
- Hiểu ý nghĩa của CRUD (Create – Read – Update – Delete)
- Biết cách thực hiện các thao tác này với MySQL bằng PHP (
mysqli
) - Tạo giao diện đơn giản để thêm, hiển thị, sửa, xóa dữ liệu
🎥 Video minh họa bài học: Thao tác CRUD với PHP + MySQL
🔁 1. CRUD là gì?
- Create: Thêm dữ liệu mới
- Read: Hiển thị dữ liệu
- Update: Sửa dữ liệu
- Delete: Xóa dữ liệu
🗂️ 2. Chuẩn bị CSDL và bảng dữ liệu
Tạo CSDL và bảng users
CREATE DATABASE demo_php;
USE demo_php;
CREATE TABLE users (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(100),
email VARCHAR(100)
);
🧪 3. Kết nối CSDL
Tạo file db.php
:
<?php $conn = new mysqli("localhost", "root", "", "demo_php"); if ($conn->connect_error) { die("Kết nối thất bại: " . $conn->connect_error); } ?>
➕ 4. Thêm dữ liệu (Create)
add.php
<?php include "db.php"; if ($_SERVER["REQUEST_METHOD"] == "POST") { $name = $_POST["name"]; $email = $_POST["email"]; $sql = "INSERT INTO users (name, email) VALUES ('$name', '$email')"; $conn->query($sql); header("Location: list.php"); } ?> <form method="POST"> Tên: <input type="text" name="name"> Email: <input type="text" name="email"> <button type="submit">Thêm</button> </form>
📄 5. Hiển thị dữ liệu (Read)
list.php
<?php include "db.php"; $result = $conn->query("SELECT * FROM users"); ?> <h2>Danh sách người dùng</h2> <a href="add.php">+ Thêm mới</a> <table border="1"> <tr> <th>ID</th> <th>Tên</th> <th>Email</th> <th>Hành động</th> </tr> <?php while($row = $result->fetch_assoc()) { ?> <tr> <td><?=$row["id"]?></td> <td><?=$row["name"]?></td> <td><?=$row["email"]?></td> <td> <a href="edit.php?id=<?=$row['id']?>">Sửa</a> | <a href="delete.php?id=<?=$row['id']?>" onclick="return confirm('Xóa?')">Xóa</a></td> </tr> <?php } ?></table>
✏️ 6. Sửa dữ liệu (Update)
edit.php
<?php include "db.php"; $id = $_GET["id"]; $user = $conn->query("SELECT * FROM users WHERE id=$id")->fetch_assoc(); if ($_SERVER["REQUEST_METHOD"] == "POST") { $name = $_POST["name"]; $email = $_POST["email"]; $conn->query("UPDATE users SET name='$name', email='$email' WHERE id=$id"); header("Location: list.php"); } ?> <form method="POST"> Tên: <input type="text" name="name" value="<?=$user['name']?>"> Email: <input type="text" name="email" value="<?=$user['email']?>"> <button type="submit">Cập nhật</button> </form>
❌ 7. Xóa dữ liệu (Delete)
delete.php
<?php include "db.php"; $id = $_GET["id"]; $conn->query("DELETE FROM users WHERE id=$id"); header("Location: list.php"); ?>
📝 Bài tập thực hành
Nâng cấp list.php
hiển thị dữ liệu đẹp bằng bảng HTML
Cài đặt CRUD đầy đủ như trên
Thêm cột “số điện thoại” vào bảng và cập nhật toàn bộ form