Ứng dụng Chat Ajax - Xây dựng cơ sở dữ liệu
Chào các bạn,
Đây là bài đầu tiên trong loạt bài hướng dẫn xây dựng ứng dụng chat với PHP & MySQL và Ajax và trong bài này mình sẽ giới thiệu sơ lược về các chức năng chính trong ứng dụng, đồng thời mình hướng dẫn tạo dữ liệu để lưu trữ tin nhắn và người dùng luôn.
Cũng xin nói luôn là để làm được ứng dụng này thì bạn phải biết một chút ít kiến thức về PHP và Ajax, một chút về MySQL và cách truy vấn giữa chúng. Tất cả kiến thức này trên freetuts đều có nên bạn có thể tham khảo tại blog luôn cũng được.
Đầu tiên mình giới thiệu về các chức năng có trong series này đã nhé.
Bài viết này được đăng tại [free tuts .net]
1. Chức năng chính trong ứng dụng Chat
Vì toàn là kiến thức căn bản nên series này dành cho những bạn muốn thực hành về Ajax, mình tin rằng nếu bạn làm tốt ứng dụng này thì trình độ của bạn sẽ lên rất là cao. Một điều nữa là mình không đặt đến vấn đề bảo mật của các user như sử dụng https để mã hóa thông tin giao tiếp giữa client và server, vì vậy nếu bạn muốn biết thì tự tìm hiểu chứ cá nhân mình cũng không rành.
Các chức năng của ứng dụng :
- Đăng ký tài khoản.
- Đăng nhập.
- Đăng xuất.
- Trò chuyện (gửi và nhận tin nhắn ngay lập tức).
- Mobile web.
2. Xây dựng CSDL cho ứng dụng Chat
Đầu tiên các bạn tạo một database với tên messenger
. Tiếp theo chúng ta sẽ tạo hai table như hình sau để lưu thông tin người dùng và tin nhắn.
Trong đó chi tiết hai bảng như sau:
Table users
Tất nhiên rồi, một ứng dụng Messenger thì phải có một bảng người dùng để lưu thông tin tài khoản, mật khẩu cho chức năng đăng ký, đăng nhập và lấy thông tin người dùng. Bây giờ đó các bạn chạy lệnh SQL sau để tạo table users
.
CREATE TABLE `users` ( `id_user` int(11) NOT NULL, `username` text NOT NULL, `password` text NOT NULL, `date_created` datetime NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8; ALTER TABLE `users` ADD PRIMARY KEY (`id_user`); ALTER TABLE `users` MODIFY `id_user` int(11) NOT NULL AUTO_INCREMENT;
Trong đó :
- Field
id_user
chứa ID của người dùng, giá trị này sẽ tự động tăng. - Field
username
chứa tên đăng nhập của người dùng. - Field
password
chứa mật khẩu của người dùng. - Field
date_created
chứa thời gian mà người dùng đăng ký tài khoản.
Table messages
Kế tiếp chúng ta sẽ tạo thêm bảng messages
để lưu tin nhắn. Các bạn chạy lệnh SQL để tạo bảng :
CREATE TABLE `messages` ( `id_msg` int(11) NOT NULL, `body` longtext NOT NULL, `user_from` text NOT NULL, `date_sent` datetime NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8; ALTER TABLE `messages` ADD PRIMARY KEY (`id_msg`); ALTER TABLE `messages` MODIFY `id_msg` int(11) NOT NULL AUTO_INCREMENT;
Trong đó :
- Field
id_msg
chứa ID của tin nhắn, giá trị này sẽ tự tăng. - Field
body
chứa nội dung tin nhắn. - Field
user_from
chứa tên người gửi tin nhắn. - Field
date_sent
chứa thời gian gửi tin nhắn.
Thế là chúng ta đã tạo xong CSDL cho ứng dụng :)
3. Lời kết
Bài đầu tiên này hơi ngắn và cũng vì phong cách viết bài của freetuts là chia nhỏ từng phần ra nhằm giúp người đọc dễ dàng theo dõi, vì vậy mình xin dừng bài viết tại đây, bài tiếp theo mình sẽ giới thiệu về cấu trúc thư mục của ứng dụng chat.
Danh sách file tải về
Tên file tải về | Pass giải nén |
---|---|
Ajax chat PHP phần 1 | freetuts.net hoặc gameportable.net |