Chào mừng bạn đến với một hướng dẫn về cách tạo ra một hệ thống đặt chỗ ngồi đơn giản với PHP và MySQL. Cần cung cấp đặt chỗ cho một chiếc xe, phòng hoặc khán phòng? Vâng, đây là một điều đơn giản mà tôi đã thực hiện - đọc tiếp! Tôi đã bao gồm một tệp zip với tất cả mã nguồn khi bắt đầu hướng dẫn này, vì vậy bạn không phải sao chép mọi thứ, hoặc nếu bạn chỉ muốn đi thẳng vào.MỤC LỤC
Tải xuống & ghi chú
Thứ nhất, đây là liên kết tải xuống đến mã ví dụ như đã hứa.
Ghi chú nhanh
- Tạo cơ sở dữ liệu kiểm tra và nhập
1-database.sql
. - Mở
2-reserve-lib.php
và thay đổi cài đặt cơ sở dữ liệu thành của riêng bạn. - Truy cập
0 trong trình duyệt.-- [B] SESSIONS CREATE TABLE `sessions` [ `session_id` bigint[20] NOT NULL, `room_id` varchar[16] NOT NULL, `session_date` datetime NOT NULL ] ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; ALTER TABLE `sessions` ADD PRIMARY KEY [`session_id`], ADD KEY `room_id` [`room_id`], ADD KEY `session_date` [`session_date`]; ALTER TABLE `sessions` MODIFY `session_id` bigint[20] NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=2;
Nếu bạn phát hiện ra một lỗi, hãy bình luận bên dưới. Tôi cũng cố gắng trả lời các câu hỏi ngắn, nhưng đó là một người so với toàn bộ thế giới, nếu bạn cần câu trả lời khẩn cấp, vui lòng kiểm tra danh sách các trang web của tôi để nhận trợ giúp lập trình.
Ảnh chụp màn hình
Mã hóa ví dụ Tải xuống
Nhấn vào đây để tải xuống tất cả các mã nguồn ví dụ, tôi đã phát hành nó theo giấy phép MIT, vì vậy hãy thoải mái xây dựng trên đó hoặc sử dụng nó trong dự án của riêng bạn.
Được rồi, bây giờ chúng ta hãy tham gia vào các chi tiết về việc tạo hệ thống đặt chỗ ngồi với PHP và MySQL.
Phần 1] Cơ sở dữ liệu
1a] chỗ ngồi
1-database.sql
-- [A] SEATS
CREATE TABLE `seats` [
`seat_id` varchar[16] NOT NULL,
`room_id` varchar[16] NOT NULL
] ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
ALTER TABLE `seats`
ADD PRIMARY KEY [`seat_id`,`room_id`];
1 Khóa chính.-- [B] SESSIONS CREATE TABLE `sessions` [ `session_id` bigint[20] NOT NULL, `room_id` varchar[16] NOT NULL, `session_date` datetime NOT NULL ] ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; ALTER TABLE `sessions` ADD PRIMARY KEY [`session_id`], ADD KEY `room_id` [`room_id`], ADD KEY `session_date` [`session_date`]; ALTER TABLE `sessions` MODIFY `session_id` bigint[20] NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=2;
2 Khóa chính.-- [B] SESSIONS CREATE TABLE `sessions` [ `session_id` bigint[20] NOT NULL, `room_id` varchar[16] NOT NULL, `session_date` datetime NOT NULL ] ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; ALTER TABLE `sessions` ADD PRIMARY KEY [`session_id`], ADD KEY `room_id` [`room_id`], ADD KEY `session_date` [`session_date`]; ALTER TABLE `sessions` MODIFY `session_id` bigint[20] NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=2;
Đây phải là tự giải thích, chỗ ngồi có sẵn mà mỗi phòng có. Chỉ cần thay đổi
-- [B] SESSIONS
CREATE TABLE `sessions` [
`session_id` bigint[20] NOT NULL,
`room_id` varchar[16] NOT NULL,
`session_date` datetime NOT NULL
] ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
ALTER TABLE `sessions`
ADD PRIMARY KEY [`session_id`],
ADD KEY `room_id` [`room_id`],
ADD KEY `session_date` [`session_date`];
ALTER TABLE `sessions`
MODIFY `session_id` bigint[20] NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=2;
2 thành -- [B] SESSIONS
CREATE TABLE `sessions` [
`session_id` bigint[20] NOT NULL,
`room_id` varchar[16] NOT NULL,
`session_date` datetime NOT NULL
] ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
ALTER TABLE `sessions`
ADD PRIMARY KEY [`session_id`],
ADD KEY `room_id` [`room_id`],
ADD KEY `session_date` [`session_date`];
ALTER TABLE `sessions`
MODIFY `session_id` bigint[20] NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=2;
4 nếu nó dành cho dịch vụ hành khách.1b] Phiên
1-database.sql
-- [B] SESSIONS
CREATE TABLE `sessions` [
`session_id` bigint[20] NOT NULL,
`room_id` varchar[16] NOT NULL,
`session_date` datetime NOT NULL
] ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
ALTER TABLE `sessions`
ADD PRIMARY KEY [`session_id`],
ADD KEY `room_id` [`room_id`],
ADD KEY `session_date` [`session_date`];
ALTER TABLE `sessions`
MODIFY `session_id` bigint[20] NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=2;
5 Khóa chính, tự động.-- [B] SESSIONS CREATE TABLE `sessions` [ `session_id` bigint[20] NOT NULL, `room_id` varchar[16] NOT NULL, `session_date` datetime NOT NULL ] ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; ALTER TABLE `sessions` ADD PRIMARY KEY [`session_id`], ADD KEY `room_id` [`room_id`], ADD KEY `session_date` [`session_date`]; ALTER TABLE `sessions` MODIFY `session_id` bigint[20] NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=2;
2 Khóa nước ngoài, phiên sẽ được tổ chức trong phòng này.-- [B] SESSIONS CREATE TABLE `sessions` [ `session_id` bigint[20] NOT NULL, `room_id` varchar[16] NOT NULL, `session_date` datetime NOT NULL ] ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; ALTER TABLE `sessions` ADD PRIMARY KEY [`session_id`], ADD KEY `room_id` [`room_id`], ADD KEY `session_date` [`session_date`]; ALTER TABLE `sessions` MODIFY `session_id` bigint[20] NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=2;
7 Ngày khi phiên đang diễn ra.-- [B] SESSIONS CREATE TABLE `sessions` [ `session_id` bigint[20] NOT NULL, `room_id` varchar[16] NOT NULL, `session_date` datetime NOT NULL ] ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; ALTER TABLE `sessions` ADD PRIMARY KEY [`session_id`], ADD KEY `room_id` [`room_id`], ADD KEY `session_date` [`session_date`]; ALTER TABLE `sessions` MODIFY `session_id` bigint[20] NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=2;
Tiếp theo, chúng tôi có một bảng phiên của người Viking để tổ chức sự kiện nào đang diễn ra trong phòng và ngày nào. Bạn có thể đổi tên điều này thành các chuyến đi trên các dịch vụ hành khách, hoặc thậm chí có thể là các bài học về các dịch vụ giáo dục.
1C] Đặt chỗ
1-database.sql
-- [C] RESERVATIONS
CREATE TABLE `reservations` [
`session_id` bigint[20] NOT NULL,
`seat_id` varchar[16] NOT NULL,
`user_id` bigint[20] NOT NULL
] ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
ALTER TABLE `reservations`
ADD PRIMARY KEY [`session_id`,`seat_id`,`user_id`];
5 Khóa chính và nước ngoài.-- [B] SESSIONS CREATE TABLE `sessions` [ `session_id` bigint[20] NOT NULL, `room_id` varchar[16] NOT NULL, `session_date` datetime NOT NULL ] ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; ALTER TABLE `sessions` ADD PRIMARY KEY [`session_id`], ADD KEY `room_id` [`room_id`], ADD KEY `session_date` [`session_date`]; ALTER TABLE `sessions` MODIFY `session_id` bigint[20] NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=2;
1 Khóa chính và nước ngoài.-- [B] SESSIONS CREATE TABLE `sessions` [ `session_id` bigint[20] NOT NULL, `room_id` varchar[16] NOT NULL, `session_date` datetime NOT NULL ] ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; ALTER TABLE `sessions` ADD PRIMARY KEY [`session_id`], ADD KEY `room_id` [`room_id`], ADD KEY `session_date` [`session_date`]; ALTER TABLE `sessions` MODIFY `session_id` bigint[20] NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=2;
0 Khóa chính và nước ngoài.-- [C] RESERVATIONS CREATE TABLE `reservations` [ `session_id` bigint[20] NOT NULL, `seat_id` varchar[16] NOT NULL, `user_id` bigint[20] NOT NULL ] ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; ALTER TABLE `reservations` ADD PRIMARY KEY [`session_id`,`seat_id`,`user_id`];
Cuối cùng, một bảng để ghi lại các đặt phòng - mà người dùng đã đặt chỗ cho phiên và chỗ ngồi nào.
1D] Dữ liệu giả
1-database.sql
-- [D] DUMMY DATA
-- [D1] DUMMY SEATS
INSERT INTO `seats` [`seat_id`, `room_id`] VALUES
['A1', 'ROOM-A'],
['A2', 'ROOM-A'],
['A3', 'ROOM-A'],
['A4', 'ROOM-A'],
['B1', 'ROOM-A'],
['B2', 'ROOM-A'],
['B3', 'ROOM-A'],
['B4', 'ROOM-A'],
['C1', 'ROOM-A'],
['C2', 'ROOM-A'],
['C3', 'ROOM-A'],
['C4', 'ROOM-A'];
-- [D2] DUMMY SESSION
INSERT INTO `sessions` [`session_id`, `room_id`, `session_date`] VALUES
[1, 'ROOM-A', '2077-06-05 08:00:00'];
-- [D3] DUMMY RESERVATION
INSERT INTO `reservations` [`session_id`, `seat_id`, `user_id`] VALUES
['1', 'B2', '555'],
['1', 'A4', '888'];
Để giúp bạn hiểu rõ hơn, đây là một số dữ liệu giả và ví dụ
- [D1] Ở đây, chúng tôi có một
1 với 12 chỗ ngồi. Here, we have a single-- [C] RESERVATIONS CREATE TABLE `reservations` [ `session_id` bigint[20] NOT NULL, `seat_id` varchar[16] NOT NULL, `user_id` bigint[20] NOT NULL ] ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; ALTER TABLE `reservations` ADD PRIMARY KEY [`session_id`,`seat_id`,`user_id`];
1 with 12 seats.-- [C] RESERVATIONS CREATE TABLE `reservations` [ `session_id` bigint[20] NOT NULL, `seat_id` varchar[16] NOT NULL, `user_id` bigint[20] NOT NULL ] ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; ALTER TABLE `reservations` ADD PRIMARY KEY [`session_id`,`seat_id`,`user_id`];
- [D2] Sau đó, căn phòng mở cửa để đặt trong Cyberpunk 2077. Then, the room is open for booking in CyberPunk 2077.
- . Dummy reservations – User 555 booked seat B2, and user 888 booked seat A4.
Phần 2] Thư viện đặt phòng PHP
2-reserve-lib.php