CRUD trong PHP – Bài viết này sẽ hướng dẫn bạn cách tạo các Thao tác CRUD trong PHP và MySQL bằng Mã nguồn tải xuống miễn phí. Hệ thống CRUD trong PHP và PDO này đi kèm với các ví dụ và mã nguồn miễn phí sẽ giúp bạn tạo mã nguồn của riêng mình
Thao tác CRUD trong PHP tương tác với các bản ghi trong bảng và thường được sử dụng cùng với cơ sở dữ liệu. Trong Hệ thống CRUD của chúng tôi bằng PHP, chúng tôi sẽ sử dụng MySQL làm hệ thống quản lý cơ sở dữ liệu của chúng tôi
CRUD là gì?
Chữ viết tắt CRUD là viết tắt của Tạo, Đọc, Cập nhật và Xóa. Xử lý dữ liệu cơ sở dữ liệu cơ bản được gọi là hoạt động CRUD. Để tiến hành các hoạt động này, chúng ta có thể sử dụng chương trình PHP và cơ sở dữ liệu MySQL
Phần mở rộng PDO PHP là gì?
PDO là viết tắt của Đối tượng dữ liệu PHP. PDO là một cách đơn giản, nhất quán để truy cập cơ sở dữ liệu. Điều này đơn giản có nghĩa là các nhà phát triển và lập trình viên có thể thiết kế mã di động đơn giản hơn nhiều
Thao tác CRUD trong PHP và MySQL với Mã nguồn Mục lục
- Bước 1. Bắt đầu cho hoạt động CRUD trong PHP
- 1. 1 Hướng dẫn này sẽ dạy cho bạn điều gì
- 1. 2 Yêu cầu
- 1. 3 Cấu trúc & Thiết lập Tệp
- Bước 2. Hoạt động thô trong cơ sở dữ liệu PHP và MYSQL
- Bước 3. Tạo các thao tác CRUD trong PHP Stylesheet [CSS3]
- Bước 4. Tạo các hoạt động CRUD trong trang PHP
- 4. 1 Tạo chức năng
- 4. 2 Tạo Trang chủ
- 4. 3 Tạo trang đã đọc
- 4. 4 Tạo Trang Tạo
- 4. 5 Tạo trang cập nhật
- 4. 6 Tạo Trang Xóa
- CRUD trong PHP và MySQL với mã nguồn – Tổng quan về dự án
- Xem Hướng dẫn đầy đủ về cách tạo hệ thống CRUD đầu tiên của bạn bằng mã nguồn PHP
- Tải xuống hệ thống CRUD trong mã nguồn PHP bên dưới
- Sự kết luận
- Thắc mắc
Bước 1. Bắt đầu cho hoạt động CRUD trong PHP
Chúng tôi cần cài đặt máy chủ web cục bộ và thiết lập ứng dụng của mình trước khi có thể bắt đầu phát triển Hệ thống CRUD của mình bằng PHP
1. 1 Hướng dẫn này sẽ dạy cho bạn điều gì
- Tạo bản ghi MySQL – Thêm bản ghi mới vào bảng
- Đọc Bản ghi MySQL và hiển thị chúng trong bảng HTML
- Cập nhật bản ghi MySQL – Trong bảng Danh bạ, hãy cập nhật các bản ghi MySQL hiện có
- Xóa bản ghi MySQL — Xác nhận và xóa bản ghi bảng Danh bạ
- Yêu cầu GET và POST – Sử dụng biểu mẫu HTML và tham số URL để gửi dữ liệu đến chương trình của chúng tôi
- Các câu lệnh đã chuẩn bị – Các câu lệnh đã chuẩn bị cho phép chúng tôi bảo vệ các câu lệnh SQL của mình
1. 2 Yêu cầu
- Máy chủ web – Tôi khuyên bạn nên cài đặt XAMPP trên hệ thống máy tính cục bộ của mình vì nó chứa MySQL, PHP, phpMyAdmin và phần mở rộng PDO
- PHP – Nên dùng phiên bản PHP mới nhất, mặc dù các phiên bản cũ hơn sẽ hoạt động tốt [bỏ qua nếu bạn đã cài đặt XAMPP]
- Tiện ích mở rộng PDO — Nên được bật theo mặc định nếu bạn đang sử dụng XAMPP, nhưng nếu không, bạn sẽ cần bật/cài đặt nó
1. 3 Cấu trúc & Thiết lập Tệp
Điều hướng đến C. \xampp\htdocs [XAMPP] rồi tạo các thư mục và tệp bên dưới
thư mục phpcrudtutorialNhững gì sẽ có trong mỗi tập tin
- mục lục. php — Trang chủ ứng dụng CRUD của chúng tôi
- tạo ra. php — Sử dụng biểu mẫu HTML để tạo bản ghi mới và yêu cầu POST để gửi dữ liệu đến máy chủ
- đọc. php — Tệp này hiển thị các bản ghi từ bảng cơ sở dữ liệu của chúng tôi và cho phép bạn duyệt qua chúng bằng cách sử dụng phân trang
- cập nhật. php — Sử dụng biểu mẫu HTML để cập nhật các bản ghi hiện có và yêu cầu POST để gửi dữ liệu đến máy chủ
- xóa bỏ. php — Xác nhận và xóa bản ghi dựa trên ID của họ [NHẬN yêu cầu lấy ID]
- chức năng. php — Các quy trình tạo khuôn mẫu cơ bản và kết nối MySQL [vì vậy chúng tôi không phải lặp lại mã trong mỗi tệp]
- Phong cách. css — Đây là biểu định kiểu cho ứng dụng của chúng ta và nó sẽ ảnh hưởng đến giao diện của ứng dụng
Bước 2. Hoạt động thô trong cơ sở dữ liệu PHP và MYSQL
Trong bước này, chúng ta sẽ tạo Cơ sở dữ liệu và thiết lập Bảng cho các Hoạt động CRUD trong PHP
Chúng tôi sẽ lưu trữ danh bạ trong cơ sở dữ liệu MySQL và truy xuất chúng bằng PHP. Nếu bạn đang sử dụng XAMPP, hãy làm theo các bước bên dưới
- truy cập http. //localhost/phpmyadmin/
- Trong phần Tạo cơ sở dữ liệu, hãy nhập phpcrud và chọn utf8_general_ci làm đối chiếu
- Tạo bằng cách nhấp vào nút Tạo
- Chọn cơ sở dữ liệu được tạo gần đây
- Chọn tab SQL và chạy SQL sau
CREATE TABLE IF NOT EXISTS `contacts` [
`id` int[11] NOT NULL AUTO_INCREMENT,
`name` varchar[255] NOT NULL,
`email` varchar[255] NOT NULL,
`phone` varchar[255] NOT NULL,
`title` varchar[255] NOT NULL,
`created` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY [`id`]
] ENGINE=InnoDB AUTO_INCREMENT=13 DEFAULT CHARSET=utf8;
INSERT INTO `contacts` [`id`, `name`, `email`, `phone`, `title`, `created`] VALUES
[1, 'Jane Strong', '[email protected]', '2026550143', 'Lawyer', '2021-05-08 17:32:00'],
[2, 'Dwayne Johnson', '[email protected]', '2025550121', 'Employee', '2021-05-08 17:28:44'],
[3, 'Mitch Maypol', '[email protected]', '2004550121', 'Employee', '2021-05-08 17:29:27'],
[4, 'Jaggy Davidson', '[email protected]', '2022550178', 'Supervisor', '2021-05-08 17:29:27'],
[5, 'John Clover', '[email protected]', '7862342390', 'Janitor', '2021-05-09 19:16:00'];
SQL ở trên sẽ tạo bảng liên hệ mà chúng tôi sẽ sử dụng trong trang của mình. SQL cũng bao gồm dữ liệu mẫu, dữ liệu này sẽ được sử dụng cho mục đích thử nghiệm để đảm bảo mọi thứ hoạt động tốt và bạn có thể xóa dữ liệu đó sau đó
Cơ sở dữ liệu danh bạ có sáu cột. id, tên, email, điện thoại, tiêu đề và đã tạo. Cột tiêu đề thể hiện vai trò của từng bản ghi;
Trong phpMyAdmin, cơ sở dữ liệu sẽ giống như sau
CRUD trong PHP – Cấu trúc bảngBước 3. Tạo các thao tác CRUD trong PHP Stylesheet [CSS3]
Biểu định kiểu sẽ thay đổi giao diện của Hoạt động CRUD của chúng tôi trong ứng dụng PHP và MySQL, hãy chỉnh sửa kiểu. css và thêm đoạn mã sau
* { box-sizing: border-box; font-family: -apple-system, BlinkMacSystemFont, "segoe ui", roboto, oxygen, ubuntu, cantarell, "fira sans", "droid sans", "helvetica neue", Arial, sans-serif; font-size: 16px; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } body { background-color: #FFFFFF; margin: 0; } .navtop { background-color: #dd743a; height: 60px; width: 100%; border: 0; } .navtop div { display: flex; margin: 0 auto; width: 1000px; height: 100%; } .navtop div h1, .navtop div a { display: inline-flex; align-items: center; } .navtop div h1 { flex: 1; font-size: 24px; padding: 0; margin: 0; color: #fff; font-weight: normal; } .navtop div a { padding: 0 20px; text-decoration: none; color: #fff; font-weight: bold; } .navtop div a i { padding: 2px 8px 0 0; } .navtop div a:hover { color: #ffd8c2; } .content { width: 1000px; margin: 0 auto; } .content h2 { margin: 0; padding: 25px 0; font-size: 22px; border-bottom: 1px solid #ebebeb; color: #666666; } .read .create-contact { display: inline-block; text-decoration: none; background-color: #38b673; font-weight: bold; font-size: 14px; color: #FFFFFF; padding: 10px 15px; margin: 15px 0; } .read .create-contact:hover { background-color: #32a367; } .read .pagination { display: flex; justify-content: flex-end; } .read .pagination a { display: inline-block; text-decoration: none; background-color: #a5a7a9; font-weight: bold; color: #FFFFFF; padding: 5px 10px; margin: 15px 0 15px 5px; } .read .pagination a:hover { background-color: #999b9d; } .read table { width: 100%; padding-top: 30px; border-collapse: collapse; } .read table thead { background-color: #ebeef1; border-bottom: 1px solid #d3dae0; } .read table thead td { padding: 10px; font-weight: bold; color: #767779; font-size: 14px; } .read table tbody tr { border-bottom: 1px solid #d3dae0; } .read table tbody tr:nth-child[even] { background-color: #fbfcfc; } .read table tbody tr:hover { background-color: #376ab7; } .read table tbody tr:hover td { color: #FFFFFF; } .read table tbody tr:hover td:nth-child[1] { color: #FFFFFF; } .read table tbody tr td { padding: 10px; } .read table tbody tr td:nth-child[1] { color: #a5a7a9; } .read table tbody tr td.actions { padding: 8px; text-align: right; } .read table tbody tr td.actions .edit, .read table tbody tr td.actions .trash { display: inline-flex; text-align: right; text-decoration: none; color: #FFFFFF; padding: 10px 12px; } .read table tbody tr td.actions .trash { background-color: #b73737; } .read table tbody tr td.actions .trash:hover { background-color: #a33131; } .read table tbody tr td.actions .edit { background-color: #37afb7; } .read table tbody tr td.actions .edit:hover { background-color: #319ca3; } .update form { padding: 15px 0; display: flex; flex-flow: wrap; } .update form label { display: inline-flex; width: 400px; padding: 10px 0; margin-right: 25px; } .update form input { padding: 10px; width: 400px; margin-right: 25px; margin-bottom: 15px; border: 1px solid #cccccc; } .update form input[type="submit"] { display: block; background-color: #38b673; border: 0; font-weight: bold; font-size: 14px; color: #FFFFFF; cursor: pointer; width: 200px; margin-top: 15px; } .update form input[type="submit"]:hover { background-color: #32a367; } .delete .yesno { display: flex; } .delete .yesno a { display: inline-block; text-decoration: none; background-color: #38b673; font-weight: bold; color: #FFFFFF; padding: 10px 15px; margin: 15px 10px 15px 0; } .delete .yesno a:hover { background-color: #32a367; }
Thay đổi thiết kế nếu bạn thích, nhưng đây là những gì tôi nghĩ ra để làm cho ứng dụng CRUD hấp dẫn hơn
Bước 4. Tạo các hoạt động CRUD trong trang PHP
Cuối cùng, chúng ta có thể bắt đầu mã hóa Thao tác CRUD trong Tải xuống mã nguồn PHP. Đảm bảo rằng bạn đã hoàn thành các bước trước đó và có sẵn cơ sở dữ liệu MySQL trước khi chúng tôi bắt đầu
4. 1 Tạo chức năng
Tệp này sẽ bao gồm các chức năng mà chúng tôi có thể sử dụng trong tất cả các tệp PHP của mình, cho phép chúng tôi tránh viết cùng một mã trong mỗi tệp. Rốt cuộc, chúng ta càng phải viết ít mã thì càng tốt, phải không? . một để kết nối với cơ sở dữ liệu và hai cái còn lại để tạo các mẫu đầu trang và chân trang sẽ hiển thị trên mọi trang chúng tôi tạo và bao gồm bố cục HTML
Thêm đoạn mã sau vào các chức năng. tập tin php
Đảm bảo thay thế các chi tiết kết nối MySQL bằng chi tiết của riêng bạn;
4. 2 Tạo Trang chủ
chỉ mục. tệp php sẽ được phục vụ khi bạn truy cập http. // localhost/php crud/;
Thêm đoạn mã sau vào chỉ mục. tập tin php
Home
This is your home page
Điều này sẽ cung cấp một trang chủ đơn giản mà từ đó chúng ta có thể duyệt đến các trang khác. Như bạn có thể thấy, chúng tôi bao gồm các chức năng. php và chạy các chức năng mẫu mà chúng tôi đã phát triển, sẽ thêm mã đầu trang và chân trang vào trang chủ của chúng tôi
Nếu chúng ta truy cập http. //localhost/php crud/ bây giờ, chúng ta sẽ thấy một cái gì đó như thế này
Hoạt động CRUD trong PHP, PDO và MySQL – trang chủ. phpĐó là khá nhiều cho ngôi nhà;
4. 3 Tạo trang đã đọc
Điều này sẽ tạo một bảng HTML với các bản ghi từ bảng của chúng tôi
Thêm đoạn mã sau vào phần đọc. tập tin php
Vì truy vấn không liên quan đến các biến đầu vào của người dùng nên chúng tôi không cần sử dụng câu lệnh đã chuẩn bị sẵn trong truy vấn SQL ở trên để lấy tổng số bản ghi trong bảng
để đọc. php tập tin, thêm đoạn mã sau
* { box-sizing: border-box; font-family: -apple-system, BlinkMacSystemFont, "segoe ui", roboto, oxygen, ubuntu, cantarell, "fira sans", "droid sans", "helvetica neue", Arial, sans-serif; font-size: 16px; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } body { background-color: #FFFFFF; margin: 0; } .navtop { background-color: #dd743a; height: 60px; width: 100%; border: 0; } .navtop div { display: flex; margin: 0 auto; width: 1000px; height: 100%; } .navtop div h1, .navtop div a { display: inline-flex; align-items: center; } .navtop div h1 { flex: 1; font-size: 24px; padding: 0; margin: 0; color: #fff; font-weight: normal; } .navtop div a { padding: 0 20px; text-decoration: none; color: #fff; font-weight: bold; } .navtop div a i { padding: 2px 8px 0 0; } .navtop div a:hover { color: #ffd8c2; } .content { width: 1000px; margin: 0 auto; } .content h2 { margin: 0; padding: 25px 0; font-size: 22px; border-bottom: 1px solid #ebebeb; color: #666666; } .read .create-contact { display: inline-block; text-decoration: none; background-color: #38b673; font-weight: bold; font-size: 14px; color: #FFFFFF; padding: 10px 15px; margin: 15px 0; } .read .create-contact:hover { background-color: #32a367; } .read .pagination { display: flex; justify-content: flex-end; } .read .pagination a { display: inline-block; text-decoration: none; background-color: #a5a7a9; font-weight: bold; color: #FFFFFF; padding: 5px 10px; margin: 15px 0 15px 5px; } .read .pagination a:hover { background-color: #999b9d; } .read table { width: 100%; padding-top: 30px; border-collapse: collapse; } .read table thead { background-color: #ebeef1; border-bottom: 1px solid #d3dae0; } .read table thead td { padding: 10px; font-weight: bold; color: #767779; font-size: 14px; } .read table tbody tr { border-bottom: 1px solid #d3dae0; } .read table tbody tr:nth-child[even] { background-color: #fbfcfc; } .read table tbody tr:hover { background-color: #376ab7; } .read table tbody tr:hover td { color: #FFFFFF; } .read table tbody tr:hover td:nth-child[1] { color: #FFFFFF; } .read table tbody tr td { padding: 10px; } .read table tbody tr td:nth-child[1] { color: #a5a7a9; } .read table tbody tr td.actions { padding: 8px; text-align: right; } .read table tbody tr td.actions .edit, .read table tbody tr td.actions .trash { display: inline-flex; text-align: right; text-decoration: none; color: #FFFFFF; padding: 10px 12px; } .read table tbody tr td.actions .trash { background-color: #b73737; } .read table tbody tr td.actions .trash:hover { background-color: #a33131; } .read table tbody tr td.actions .edit { background-color: #37afb7; } .read table tbody tr td.actions .edit:hover { background-color: #319ca3; } .update form { padding: 15px 0; display: flex; flex-flow: wrap; } .update form label { display: inline-flex; width: 400px; padding: 10px 0; margin-right: 25px; } .update form input { padding: 10px; width: 400px; margin-right: 25px; margin-bottom: 15px; border: 1px solid #cccccc; } .update form input[type="submit"] { display: block; background-color: #38b673; border: 0; font-weight: bold; font-size: 14px; color: #FFFFFF; cursor: pointer; width: 200px; margin-top: 15px; } .update form input[type="submit"]:hover { background-color: #32a367; } .delete .yesno { display: flex; } .delete .yesno a { display: inline-block; text-decoration: none; background-color: #38b673; font-weight: bold; color: #FFFFFF; padding: 10px 15px; margin: 15px 10px 15px 0; } .delete .yesno a:hover { background-color: #32a367; }0
Đây là mẫu đã đọc;
Phân trang đã được thêm vào trang đã đọc để chúng tôi có thể di chuyển giữa các trang nếu bạn có nhiều hơn 5 bản ghi [trang 1, trang 2, v.v.]
Phông chữ Tuyệt vời được sử dụng cho các biểu tượng, do đó hãy đảm bảo rằng nó được bao gồm trong chức năng mẫu tiêu đề nếu không các biểu tượng sẽ không hiển thị
Bây giờ, nếu chúng ta truy cập http. // localhost/php thô sơ/đọc. php, chúng ta có thể xem kết quả. Đây là những gì chúng ta sẽ thấy
Hoạt động CRUD trong PHP, PDO và MySQL – đọc. phpBây giờ chúng ta đã biết cách hiển thị các mục nhập từ cơ sở dữ liệu MySQL của mình, hãy nhớ rằng các nút trong bảng [mới, sửa đổi và xóa] sẽ không hoạt động do các trang đó chưa được phát triển
Bạn cũng có thể đọc bằng cách nhấp vào liên kết Danh bạ ở thanh trên cùng
4. 4 Tạo Trang Tạo
Các bản ghi mới sẽ được tạo và chèn vào cơ sở dữ liệu của chúng tôi bằng trang tạo
Thêm phần sau vào phần tạo. tập tin php
* { box-sizing: border-box; font-family: -apple-system, BlinkMacSystemFont, "segoe ui", roboto, oxygen, ubuntu, cantarell, "fira sans", "droid sans", "helvetica neue", Arial, sans-serif; font-size: 16px; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } body { background-color: #FFFFFF; margin: 0; } .navtop { background-color: #dd743a; height: 60px; width: 100%; border: 0; } .navtop div { display: flex; margin: 0 auto; width: 1000px; height: 100%; } .navtop div h1, .navtop div a { display: inline-flex; align-items: center; } .navtop div h1 { flex: 1; font-size: 24px; padding: 0; margin: 0; color: #fff; font-weight: normal; } .navtop div a { padding: 0 20px; text-decoration: none; color: #fff; font-weight: bold; } .navtop div a i { padding: 2px 8px 0 0; } .navtop div a:hover { color: #ffd8c2; } .content { width: 1000px; margin: 0 auto; } .content h2 { margin: 0; padding: 25px 0; font-size: 22px; border-bottom: 1px solid #ebebeb; color: #666666; } .read .create-contact { display: inline-block; text-decoration: none; background-color: #38b673; font-weight: bold; font-size: 14px; color: #FFFFFF; padding: 10px 15px; margin: 15px 0; } .read .create-contact:hover { background-color: #32a367; } .read .pagination { display: flex; justify-content: flex-end; } .read .pagination a { display: inline-block; text-decoration: none; background-color: #a5a7a9; font-weight: bold; color: #FFFFFF; padding: 5px 10px; margin: 15px 0 15px 5px; } .read .pagination a:hover { background-color: #999b9d; } .read table { width: 100%; padding-top: 30px; border-collapse: collapse; } .read table thead { background-color: #ebeef1; border-bottom: 1px solid #d3dae0; } .read table thead td { padding: 10px; font-weight: bold; color: #767779; font-size: 14px; } .read table tbody tr { border-bottom: 1px solid #d3dae0; } .read table tbody tr:nth-child[even] { background-color: #fbfcfc; } .read table tbody tr:hover { background-color: #376ab7; } .read table tbody tr:hover td { color: #FFFFFF; } .read table tbody tr:hover td:nth-child[1] { color: #FFFFFF; } .read table tbody tr td { padding: 10px; } .read table tbody tr td:nth-child[1] { color: #a5a7a9; } .read table tbody tr td.actions { padding: 8px; text-align: right; } .read table tbody tr td.actions .edit, .read table tbody tr td.actions .trash { display: inline-flex; text-align: right; text-decoration: none; color: #FFFFFF; padding: 10px 12px; } .read table tbody tr td.actions .trash { background-color: #b73737; } .read table tbody tr td.actions .trash:hover { background-color: #a33131; } .read table tbody tr td.actions .edit { background-color: #37afb7; } .read table tbody tr td.actions .edit:hover { background-color: #319ca3; } .update form { padding: 15px 0; display: flex; flex-flow: wrap; } .update form label { display: inline-flex; width: 400px; padding: 10px 0; margin-right: 25px; } .update form input { padding: 10px; width: 400px; margin-right: 25px; margin-bottom: 15px; border: 1px solid #cccccc; } .update form input[type="submit"] { display: block; background-color: #38b673; border: 0; font-weight: bold; font-size: 14px; color: #FFFFFF; cursor: pointer; width: 200px; margin-top: 15px; } .update form input[type="submit"]:hover { background-color: #32a367; } .delete .yesno { display: flex; } .delete .yesno a { display: inline-block; text-decoration: none; background-color: #38b673; font-weight: bold; color: #FFFFFF; padding: 10px 15px; margin: 15px 10px 15px 0; } .delete .yesno a:hover { background-color: #32a367; }1
Đoạn mã trước kiểm tra xem mảng POST [dữ liệu biểu mẫu] có trống không;
Sau đó, thêm
* { box-sizing: border-box; font-family: -apple-system, BlinkMacSystemFont, "segoe ui", roboto, oxygen, ubuntu, cantarell, "fira sans", "droid sans", "helvetica neue", Arial, sans-serif; font-size: 16px; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } body { background-color: #FFFFFF; margin: 0; } .navtop { background-color: #dd743a; height: 60px; width: 100%; border: 0; } .navtop div { display: flex; margin: 0 auto; width: 1000px; height: 100%; } .navtop div h1, .navtop div a { display: inline-flex; align-items: center; } .navtop div h1 { flex: 1; font-size: 24px; padding: 0; margin: 0; color: #fff; font-weight: normal; } .navtop div a { padding: 0 20px; text-decoration: none; color: #fff; font-weight: bold; } .navtop div a i { padding: 2px 8px 0 0; } .navtop div a:hover { color: #ffd8c2; } .content { width: 1000px; margin: 0 auto; } .content h2 { margin: 0; padding: 25px 0; font-size: 22px; border-bottom: 1px solid #ebebeb; color: #666666; } .read .create-contact { display: inline-block; text-decoration: none; background-color: #38b673; font-weight: bold; font-size: 14px; color: #FFFFFF; padding: 10px 15px; margin: 15px 0; } .read .create-contact:hover { background-color: #32a367; } .read .pagination { display: flex; justify-content: flex-end; } .read .pagination a { display: inline-block; text-decoration: none; background-color: #a5a7a9; font-weight: bold; color: #FFFFFF; padding: 5px 10px; margin: 15px 0 15px 5px; } .read .pagination a:hover { background-color: #999b9d; } .read table { width: 100%; padding-top: 30px; border-collapse: collapse; } .read table thead { background-color: #ebeef1; border-bottom: 1px solid #d3dae0; } .read table thead td { padding: 10px; font-weight: bold; color: #767779; font-size: 14px; } .read table tbody tr { border-bottom: 1px solid #d3dae0; } .read table tbody tr:nth-child[even] { background-color: #fbfcfc; } .read table tbody tr:hover { background-color: #376ab7; } .read table tbody tr:hover td { color: #FFFFFF; } .read table tbody tr:hover td:nth-child[1] { color: #FFFFFF; } .read table tbody tr td { padding: 10px; } .read table tbody tr td:nth-child[1] { color: #a5a7a9; } .read table tbody tr td.actions { padding: 8px; text-align: right; } .read table tbody tr td.actions .edit, .read table tbody tr td.actions .trash { display: inline-flex; text-align: right; text-decoration: none; color: #FFFFFF; padding: 10px 12px; } .read table tbody tr td.actions .trash { background-color: #b73737; } .read table tbody tr td.actions .trash:hover { background-color: #a33131; } .read table tbody tr td.actions .edit { background-color: #37afb7; } .read table tbody tr td.actions .edit:hover { background-color: #319ca3; } .update form { padding: 15px 0; display: flex; flex-flow: wrap; } .update form label { display: inline-flex; width: 400px; padding: 10px 0; margin-right: 25px; } .update form input { padding: 10px; width: 400px; margin-right: 25px; margin-bottom: 15px; border: 1px solid #cccccc; } .update form input[type="submit"] { display: block; background-color: #38b673; border: 0; font-weight: bold; font-size: 14px; color: #FFFFFF; cursor: pointer; width: 200px; margin-top: 15px; } .update form input[type="submit"]:hover { background-color: #32a367; } .delete .yesno { display: flex; } .delete .yesno a { display: inline-block; text-decoration: none; background-color: #38b673; font-weight: bold; color: #FFFFFF; padding: 10px 15px; margin: 15px 10px 15px 0; } .delete .yesno a:hover { background-color: #32a367; }2
Đây là mẫu cho sáng tạo của chúng tôi;
Bây giờ, nếu chúng ta truy cập http. // localhost/php crud/tạo. php, chúng ta có thể xem kết quả. Chúng tôi sẽ thấy những điều sau đây nếu chúng tôi nhấp vào nút Tạo trên phần đọc
Hoạt động CRUD trong PHP, PDO & MySQL – tạo. php4. 5 Tạo trang cập nhật
Bản cập nhật sẽ được sử dụng để chỉnh sửa bản ghi trong cơ sở dữ liệu của chúng tôi; . Với một yêu cầu Acquire, chúng tôi sẽ có thể lấy ID bản ghi
Thêm phần sau vào bản cập nhật. tập tin php
* { box-sizing: border-box; font-family: -apple-system, BlinkMacSystemFont, "segoe ui", roboto, oxygen, ubuntu, cantarell, "fira sans", "droid sans", "helvetica neue", Arial, sans-serif; font-size: 16px; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } body { background-color: #FFFFFF; margin: 0; } .navtop { background-color: #dd743a; height: 60px; width: 100%; border: 0; } .navtop div { display: flex; margin: 0 auto; width: 1000px; height: 100%; } .navtop div h1, .navtop div a { display: inline-flex; align-items: center; } .navtop div h1 { flex: 1; font-size: 24px; padding: 0; margin: 0; color: #fff; font-weight: normal; } .navtop div a { padding: 0 20px; text-decoration: none; color: #fff; font-weight: bold; } .navtop div a i { padding: 2px 8px 0 0; } .navtop div a:hover { color: #ffd8c2; } .content { width: 1000px; margin: 0 auto; } .content h2 { margin: 0; padding: 25px 0; font-size: 22px; border-bottom: 1px solid #ebebeb; color: #666666; } .read .create-contact { display: inline-block; text-decoration: none; background-color: #38b673; font-weight: bold; font-size: 14px; color: #FFFFFF; padding: 10px 15px; margin: 15px 0; } .read .create-contact:hover { background-color: #32a367; } .read .pagination { display: flex; justify-content: flex-end; } .read .pagination a { display: inline-block; text-decoration: none; background-color: #a5a7a9; font-weight: bold; color: #FFFFFF; padding: 5px 10px; margin: 15px 0 15px 5px; } .read .pagination a:hover { background-color: #999b9d; } .read table { width: 100%; padding-top: 30px; border-collapse: collapse; } .read table thead { background-color: #ebeef1; border-bottom: 1px solid #d3dae0; } .read table thead td { padding: 10px; font-weight: bold; color: #767779; font-size: 14px; } .read table tbody tr { border-bottom: 1px solid #d3dae0; } .read table tbody tr:nth-child[even] { background-color: #fbfcfc; } .read table tbody tr:hover { background-color: #376ab7; } .read table tbody tr:hover td { color: #FFFFFF; } .read table tbody tr:hover td:nth-child[1] { color: #FFFFFF; } .read table tbody tr td { padding: 10px; } .read table tbody tr td:nth-child[1] { color: #a5a7a9; } .read table tbody tr td.actions { padding: 8px; text-align: right; } .read table tbody tr td.actions .edit, .read table tbody tr td.actions .trash { display: inline-flex; text-align: right; text-decoration: none; color: #FFFFFF; padding: 10px 12px; } .read table tbody tr td.actions .trash { background-color: #b73737; } .read table tbody tr td.actions .trash:hover { background-color: #a33131; } .read table tbody tr td.actions .edit { background-color: #37afb7; } .read table tbody tr td.actions .edit:hover { background-color: #319ca3; } .update form { padding: 15px 0; display: flex; flex-flow: wrap; } .update form label { display: inline-flex; width: 400px; padding: 10px 0; margin-right: 25px; } .update form input { padding: 10px; width: 400px; margin-right: 25px; margin-bottom: 15px; border: 1px solid #cccccc; } .update form input[type="submit"] { display: block; background-color: #38b673; border: 0; font-weight: bold; font-size: 14px; color: #FFFFFF; cursor: pointer; width: 200px; margin-top: 15px; } .update form input[type="submit"]:hover { background-color: #32a367; } .delete .yesno { display: flex; } .delete .yesno a { display: inline-block; text-decoration: none; background-color: #38b673; font-weight: bold; color: #FFFFFF; padding: 10px 15px; margin: 15px 10px 15px 0; } .delete .yesno a:hover { background-color: #32a367; }0
Đoạn mã trên sẽ tìm kiếm ID liên hệ, đây sẽ là một tham số URL, chẳng hạn như http. // localhost/php thô sơ/cập nhật. php?id=1. sẽ trả về liên hệ có ID 1 và sau đó chúng tôi có thể xử lý yêu cầu bằng phương thức GET và chạy truy vấn MySQL để lấy liên hệ theo ID
Sau đó, thêm
* { box-sizing: border-box; font-family: -apple-system, BlinkMacSystemFont, "segoe ui", roboto, oxygen, ubuntu, cantarell, "fira sans", "droid sans", "helvetica neue", Arial, sans-serif; font-size: 16px; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } body { background-color: #FFFFFF; margin: 0; } .navtop { background-color: #dd743a; height: 60px; width: 100%; border: 0; } .navtop div { display: flex; margin: 0 auto; width: 1000px; height: 100%; } .navtop div h1, .navtop div a { display: inline-flex; align-items: center; } .navtop div h1 { flex: 1; font-size: 24px; padding: 0; margin: 0; color: #fff; font-weight: normal; } .navtop div a { padding: 0 20px; text-decoration: none; color: #fff; font-weight: bold; } .navtop div a i { padding: 2px 8px 0 0; } .navtop div a:hover { color: #ffd8c2; } .content { width: 1000px; margin: 0 auto; } .content h2 { margin: 0; padding: 25px 0; font-size: 22px; border-bottom: 1px solid #ebebeb; color: #666666; } .read .create-contact { display: inline-block; text-decoration: none; background-color: #38b673; font-weight: bold; font-size: 14px; color: #FFFFFF; padding: 10px 15px; margin: 15px 0; } .read .create-contact:hover { background-color: #32a367; } .read .pagination { display: flex; justify-content: flex-end; } .read .pagination a { display: inline-block; text-decoration: none; background-color: #a5a7a9; font-weight: bold; color: #FFFFFF; padding: 5px 10px; margin: 15px 0 15px 5px; } .read .pagination a:hover { background-color: #999b9d; } .read table { width: 100%; padding-top: 30px; border-collapse: collapse; } .read table thead { background-color: #ebeef1; border-bottom: 1px solid #d3dae0; } .read table thead td { padding: 10px; font-weight: bold; color: #767779; font-size: 14px; } .read table tbody tr { border-bottom: 1px solid #d3dae0; } .read table tbody tr:nth-child[even] { background-color: #fbfcfc; } .read table tbody tr:hover { background-color: #376ab7; } .read table tbody tr:hover td { color: #FFFFFF; } .read table tbody tr:hover td:nth-child[1] { color: #FFFFFF; } .read table tbody tr td { padding: 10px; } .read table tbody tr td:nth-child[1] { color: #a5a7a9; } .read table tbody tr td.actions { padding: 8px; text-align: right; } .read table tbody tr td.actions .edit, .read table tbody tr td.actions .trash { display: inline-flex; text-align: right; text-decoration: none; color: #FFFFFF; padding: 10px 12px; } .read table tbody tr td.actions .trash { background-color: #b73737; } .read table tbody tr td.actions .trash:hover { background-color: #a33131; } .read table tbody tr td.actions .edit { background-color: #37afb7; } .read table tbody tr td.actions .edit:hover { background-color: #319ca3; } .update form { padding: 15px 0; display: flex; flex-flow: wrap; } .update form label { display: inline-flex; width: 400px; padding: 10px 0; margin-right: 25px; } .update form input { padding: 10px; width: 400px; margin-right: 25px; margin-bottom: 15px; border: 1px solid #cccccc; } .update form input[type="submit"] { display: block; background-color: #38b673; border: 0; font-weight: bold; font-size: 14px; color: #FFFFFF; cursor: pointer; width: 200px; margin-top: 15px; } .update form input[type="submit"]:hover { background-color: #32a367; } .delete .yesno { display: flex; } .delete .yesno a { display: inline-block; text-decoration: none; background-color: #38b673; font-weight: bold; color: #FFFFFF; padding: 10px 15px; margin: 15px 10px 15px 0; } .delete .yesno a:hover { background-color: #32a367; }1
Đây là mẫu cập nhật;
Chúng ta có thể nhấp vào biểu tượng cập nhật bên cạnh một bản ghi trên trang đã đọc và cập nhật nó, và chúng ta sẽ thấy một cái gì đó như thế này
Hoạt động CRUD trong PHP, PDO và MySQL – cập nhật. php4. 6 Tạo Trang Xóa
Các bản ghi của bảng sẽ bị xóa bằng trang xóa. Người dùng phải xác nhận việc xóa một bản ghi trước khi nó có thể bị xóa. Điều này ngăn chặn vô tình xóa
Thêm phần sau vào phần xóa. tập tin php
* { box-sizing: border-box; font-family: -apple-system, BlinkMacSystemFont, "segoe ui", roboto, oxygen, ubuntu, cantarell, "fira sans", "droid sans", "helvetica neue", Arial, sans-serif; font-size: 16px; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } body { background-color: #FFFFFF; margin: 0; } .navtop { background-color: #dd743a; height: 60px; width: 100%; border: 0; } .navtop div { display: flex; margin: 0 auto; width: 1000px; height: 100%; } .navtop div h1, .navtop div a { display: inline-flex; align-items: center; } .navtop div h1 { flex: 1; font-size: 24px; padding: 0; margin: 0; color: #fff; font-weight: normal; } .navtop div a { padding: 0 20px; text-decoration: none; color: #fff; font-weight: bold; } .navtop div a i { padding: 2px 8px 0 0; } .navtop div a:hover { color: #ffd8c2; } .content { width: 1000px; margin: 0 auto; } .content h2 { margin: 0; padding: 25px 0; font-size: 22px; border-bottom: 1px solid #ebebeb; color: #666666; } .read .create-contact { display: inline-block; text-decoration: none; background-color: #38b673; font-weight: bold; font-size: 14px; color: #FFFFFF; padding: 10px 15px; margin: 15px 0; } .read .create-contact:hover { background-color: #32a367; } .read .pagination { display: flex; justify-content: flex-end; } .read .pagination a { display: inline-block; text-decoration: none; background-color: #a5a7a9; font-weight: bold; color: #FFFFFF; padding: 5px 10px; margin: 15px 0 15px 5px; } .read .pagination a:hover { background-color: #999b9d; } .read table { width: 100%; padding-top: 30px; border-collapse: collapse; } .read table thead { background-color: #ebeef1; border-bottom: 1px solid #d3dae0; } .read table thead td { padding: 10px; font-weight: bold; color: #767779; font-size: 14px; } .read table tbody tr { border-bottom: 1px solid #d3dae0; } .read table tbody tr:nth-child[even] { background-color: #fbfcfc; } .read table tbody tr:hover { background-color: #376ab7; } .read table tbody tr:hover td { color: #FFFFFF; } .read table tbody tr:hover td:nth-child[1] { color: #FFFFFF; } .read table tbody tr td { padding: 10px; } .read table tbody tr td:nth-child[1] { color: #a5a7a9; } .read table tbody tr td.actions { padding: 8px; text-align: right; } .read table tbody tr td.actions .edit, .read table tbody tr td.actions .trash { display: inline-flex; text-align: right; text-decoration: none; color: #FFFFFF; padding: 10px 12px; } .read table tbody tr td.actions .trash { background-color: #b73737; } .read table tbody tr td.actions .trash:hover { background-color: #a33131; } .read table tbody tr td.actions .edit { background-color: #37afb7; } .read table tbody tr td.actions .edit:hover { background-color: #319ca3; } .update form { padding: 15px 0; display: flex; flex-flow: wrap; } .update form label { display: inline-flex; width: 400px; padding: 10px 0; margin-right: 25px; } .update form input { padding: 10px; width: 400px; margin-right: 25px; margin-bottom: 15px; border: 1px solid #cccccc; } .update form input[type="submit"] { display: block; background-color: #38b673; border: 0; font-weight: bold; font-size: 14px; color: #FFFFFF; cursor: pointer; width: 200px; margin-top: 15px; } .update form input[type="submit"]:hover { background-color: #32a367; } .delete .yesno { display: flex; } .delete .yesno a { display: inline-block; text-decoration: none; background-color: #38b673; font-weight: bold; color: #FFFFFF; padding: 10px 15px; margin: 15px 10px 15px 0; } .delete .yesno a:hover { background-color: #32a367; }2
Để xóa một bản ghi, mã sẽ kiểm tra xem có tồn tại biến yêu cầu GET “id” hay không, nếu có thì kiểm tra xem bản ghi đó có tồn tại trong cơ sở dữ liệu Danh bạ hay không và hỏi người dùng xem họ có muốn xóa liên hệ hay không [Có hoặc Không
Sau đó, thêm
* { box-sizing: border-box; font-family: -apple-system, BlinkMacSystemFont, "segoe ui", roboto, oxygen, ubuntu, cantarell, "fira sans", "droid sans", "helvetica neue", Arial, sans-serif; font-size: 16px; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } body { background-color: #FFFFFF; margin: 0; } .navtop { background-color: #dd743a; height: 60px; width: 100%; border: 0; } .navtop div { display: flex; margin: 0 auto; width: 1000px; height: 100%; } .navtop div h1, .navtop div a { display: inline-flex; align-items: center; } .navtop div h1 { flex: 1; font-size: 24px; padding: 0; margin: 0; color: #fff; font-weight: normal; } .navtop div a { padding: 0 20px; text-decoration: none; color: #fff; font-weight: bold; } .navtop div a i { padding: 2px 8px 0 0; } .navtop div a:hover { color: #ffd8c2; } .content { width: 1000px; margin: 0 auto; } .content h2 { margin: 0; padding: 25px 0; font-size: 22px; border-bottom: 1px solid #ebebeb; color: #666666; } .read .create-contact { display: inline-block; text-decoration: none; background-color: #38b673; font-weight: bold; font-size: 14px; color: #FFFFFF; padding: 10px 15px; margin: 15px 0; } .read .create-contact:hover { background-color: #32a367; } .read .pagination { display: flex; justify-content: flex-end; } .read .pagination a { display: inline-block; text-decoration: none; background-color: #a5a7a9; font-weight: bold; color: #FFFFFF; padding: 5px 10px; margin: 15px 0 15px 5px; } .read .pagination a:hover { background-color: #999b9d; } .read table { width: 100%; padding-top: 30px; border-collapse: collapse; } .read table thead { background-color: #ebeef1; border-bottom: 1px solid #d3dae0; } .read table thead td { padding: 10px; font-weight: bold; color: #767779; font-size: 14px; } .read table tbody tr { border-bottom: 1px solid #d3dae0; } .read table tbody tr:nth-child[even] { background-color: #fbfcfc; } .read table tbody tr:hover { background-color: #376ab7; } .read table tbody tr:hover td { color: #FFFFFF; } .read table tbody tr:hover td:nth-child[1] { color: #FFFFFF; } .read table tbody tr td { padding: 10px; } .read table tbody tr td:nth-child[1] { color: #a5a7a9; } .read table tbody tr td.actions { padding: 8px; text-align: right; } .read table tbody tr td.actions .edit, .read table tbody tr td.actions .trash { display: inline-flex; text-align: right; text-decoration: none; color: #FFFFFF; padding: 10px 12px; } .read table tbody tr td.actions .trash { background-color: #b73737; } .read table tbody tr td.actions .trash:hover { background-color: #a33131; } .read table tbody tr td.actions .edit { background-color: #37afb7; } .read table tbody tr td.actions .edit:hover { background-color: #319ca3; } .update form { padding: 15px 0; display: flex; flex-flow: wrap; } .update form label { display: inline-flex; width: 400px; padding: 10px 0; margin-right: 25px; } .update form input { padding: 10px; width: 400px; margin-right: 25px; margin-bottom: 15px; border: 1px solid #cccccc; } .update form input[type="submit"] { display: block; background-color: #38b673; border: 0; font-weight: bold; font-size: 14px; color: #FFFFFF; cursor: pointer; width: 200px; margin-top: 15px; } .update form input[type="submit"]:hover { background-color: #32a367; } .delete .yesno { display: flex; } .delete .yesno a { display: inline-block; text-decoration: none; background-color: #38b673; font-weight: bold; color: #FFFFFF; padding: 10px 15px; margin: 15px 10px 15px 0; } .delete .yesno a:hover { background-color: #32a367; }3
Mẫu xóa được hiển thị ở trên, bao gồm các nút Có và Không [xác nhận xóa] cũng như thông báo đầu ra. Các nút Có và Không sẽ khởi chạy yêu cầu NHẬN mới để xác nhận lựa chọn của người dùng
Nhấp vào nút xóa trên một trong các bản ghi đã đọc [Danh bạ] và bạn sẽ thấy một cái gì đó như thế này
Hoạt động CRUD trong PHP, PDO và MySQL – xóa. phpCRUD trong PHP và MySQL với mã nguồn – Tổng quan về dự án
Tên dự án. Thao tác CRUD trong PHP và MySQL với Mã nguồn Tóm tắtCác thao tác CRUD Tạo, Đọc, Cập nhật và Xóa dữ liệu bảng. Vì MySQL được sử dụng rộng rãi nên việc hiểu các thao tác CRUD là rất quan trọng đối với tất cả các nhà phát triển. Ngôn ngữ sử dụng. Phiên bản PHP PHP [Được khuyến nghị]. 5. 6 hoặc mới hơnCơ sở dữ liệu. Loại MySQL. Ứng dụng web, Nhà phát triển trang web. Cập nhật mã nguồn CNTT. 0CRUD trong PHP và MySQL với mã nguồn – Tổng quan dự ánXem Hướng dẫn đầy đủ về cách tạo hệ thống CRUD đầu tiên của bạn bằng mã nguồn PHP
Hoạt động CRUD trong PHP Tải xuống mã nguồnTải xuống hệ thống CRUD trong mã nguồn PHP bên dưới
Dù sao đi nữa, nếu bạn muốn nâng cao kiến thức lập trình của mình, đặc biệt là PHP, hãy thử tham khảo bài viết mới này mà tôi đã tạo cho bạn Dự án PHP tốt nhất có mã nguồn Tải xuống miễn phí năm 2021
Tải ngay
Sự kết luận
Xin chúc mừng. Điều gì sẽ xảy ra khi bạn đã xây dựng các Hoạt động CRUD trong PHP và MySQL?
Nếu bạn thích hướng dẫn này, vui lòng chia sẻ nó bằng các nút mạng xã hội bên dưới và truy cập trang web của chúng tôi để biết thêm hướng dẫn
Và hãy luôn nhớ rằng ở đây trong ITSourceCode, Mã nguồn không phải là vấn đề
Chúc các bạn code vui vẻ
Thắc mắc
Nếu bạn có bất kỳ câu hỏi hoặc đề xuất nào về Hoạt động CRUD trong Tải xuống mã nguồn PHP, vui lòng liên hệ với tôi tại trang liên hệ của chúng tôi hoặc chỉ cần để lại nhận xét bên dưới
Nhân tiện, nếu bạn quan tâm đến việc học Java, tôi đã liệt kê ở đây hướng dẫn Java tốt nhất dành cho người mới bắt đầu với một ví dụ có thể được sử dụng theo cách thực tế