Bài 01: Ứ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é.

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.

DOWNLOAD

Ajax chat PHP phần 1

DOWNLOAD TẠI FREETUTS

Nguồn: freetuts.net

Profile photo of adminLeChiHuy

LeChiHuy

Sinh năm 2001, thích lập trình, ham học hỏi. Bắt đầu tham gia vào Freetuts giữa năm 2016, mong được sự ủng hộ của các bạn !

ĐĂNG BÌNH LUẬN: Đăng câu hỏi trên Facebook để được hỗ trợ nhanh nhất.