Trong bài viết này tôi sẽ hướng dẫn các bạn cách delete dữ liệu MYSQL trong PHP. Để làm được điều này chúng ta sẽ sử dụng câu lệnh DELETE trong MYSQL:
1 2 |
DELETE FROM table_name WHERE some_column = some_value |
Ở đây các bạn cần lưu ý mệnh đề WHERE, các bạn xác định điều kiện để xóa dữ liệu. Nếu các bạn quên không có mệnh đề WHERE thì tất cả dữ liệu trong bảng sẽ bị xóa.
Delete dữ liệu MYSQL bằng PHP
Để delete dữ liệu MYSQL bằng PHP, tôi đã xây dựng một table đơn giản như sau:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 |
<?php $username = "vimagento"; // Khai báo username $password = "123456"; // Khai báo password $server = "localhost"; // Khai báo server $dbname = "ajax"; // Khai báo database // Kết nối database $connect = new mysqli($server, $username, $password, $dbname); //Nếu kết nối bị lỗi thì xuất báo lỗi và thoát. if ($connect->connect_error) { die("Kết nối lỗi:" . $connect->connect_error); exit(); } $sql = "SELECT * FROM posts"; $result = mysqli_query($connect, $sql); $data = []; while ($row = mysqli_fetch_assoc($result)) { $data[] = $row; } //Đóng database $connect->close(); ?> <!DOCTYPE html> <html> <head> <title>Delete dữ liệu MYSQL bằng PHP</title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <style> tr, td, th { border: 1px solid #ddd; padding: 10px; } </style> </head> <body> <table> <tr> <th>ID</th> <th>Tên bài viết</th> <th>Tác giả</th> <th>Created at</th> <td>Action</td> </tr> <?php foreach ($data as $item): ?> <tr> <th><?= $item['post_id']; ?></th> <td><?= $item['post_name']; ?></td> <td><?= $item['author']; ?></td> <td><?= $item['created_at']; ?></td> <td><a href="?id=<?= $item['post_id']; ?>">Delete</a></td> </tr> <?php endforeach; ?> </table> </body> </html> |
Ở đây tôi đã tạo một đường link để delete dữ liệu MYSQL bằng PHP có dạng như sau: https://vi-magento.com/delete?id=1
. Khi người dùng nhấn vào đường link này chúng ta sẽ lấy được ID cần xóa.

Tiếp theo sẽ là phần quan trọng nhất, chính là delete dữ liệu MYSQL bằng PHP.
1 2 3 4 5 |
if (isset($_GET['id'])) { $id = $_GET['id']; $sql = "DELETE FROM posts WHERE post_id = {$id}"; $result = mysqli_query($connect, $sql); } |
Sau khi delete dữ liệu thành công nên hiển thị thông báo và điều hướng đến trang thích hợp
Tất nhiên rồi, sau khi delete dữ liệu MYSQL trong PHP thành công, chúng ta cần điều hướng về trang hiển thị danh sách bài viết và hiển thị thông báo thành công.
1 2 3 4 5 6 7 8 9 10 11 12 |
if (isset($_GET['id'])) { $id = $_GET['id']; if (isset($_GET['id'])) { $id = $_GET['id']; $sql = "DELETE FROM posts WHERE post_id = {$id}"; $result = mysqli_query($connect, $sql); if ($result) { Header( 'Location: index.php?success=1' ); } else { Header( 'Location: index.php?success=0' ); } } |
Sau đó thêm đoạn code sau vào đầu file
1 2 3 4 5 |
if ( isset($_GET['success']) && $_GET['success'] == 1 ) { echo "Success"; } else { echo "Fail"; } |
Nội dung toàn bộ của file:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 |
<?php $username = "vimagento"; // Khai báo username $password = "123456"; // Khai báo password $server = "localhost"; // Khai báo server $dbname = "ajax"; // Khai báo database // Kết nối database $connect = new mysqli($server, $username, $password, $dbname); //Nếu kết nối bị lỗi thì xuất báo lỗi và thoát. if ($connect->connect_error) { die("Kết nối lỗi:" . $connect->connect_error); exit(); } if ( isset($_GET['success']) && $_GET['success'] == 1 ) { echo "Success"; } else { echo "Fail"; } if (isset($_GET['id'])) { $id = $_GET['id']; $sql = "DELETE FROM posts WHERE post_id = {$id}"; $result = mysqli_query($connect, $sql); if ($result) { Header( 'Location: index.php?success=1' ); } else { Header( 'Location: index.php?success=0' ); } } else { $sql = "SELECT * FROM posts"; $result = mysqli_query($connect, $sql); $data = []; while ($row = mysqli_fetch_assoc($result)) { $data[] = $row; } } //Đóng database $connect->close(); ?> <!DOCTYPE html> <html> <head> <title>Delete dữ liệu MYSQL bằng PHP</title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <style> tr, td, th { border: 1px solid #ddd; padding: 10px; } </style> </head> <body> <table> <tr> <th>ID</th> <th>Tên bài viết</th> <th>Tác giả</th> <th>Created at</th> <td>Action</td> </tr> <?php foreach ($data as $item): ?> <tr> <th><?= $item['post_id']; ?></th> <td><?= $item['post_name']; ?></td> <td><?= $item['author']; ?></td> <td><?= $item['created_at']; ?></td> <td><a href="?id=<?= $item['post_id']; ?>">Delete</a></td> </tr> <?php endforeach; ?> </table> </body> </html> |
Kết luận
Trong bài viết này tôi đã hướng dẫn cho các bạn cách để delete dữ liệu MYSQL trong PHP. Nếu có bất kỳ thắc mắc nào, hãy để lại bình luận bên dưới.
Tham khảo: https://www.w3schools.com/php/
dùng magento mà code như này thì dùng làm gì hả admin ??