09/10/2018, 23:55
Lưu những bài post và reply như thế nào?
Em thấy trong hầu hết diễn đàn khi một người post bài lên và có những người khác reply.Thường thì người ta lưu nó như thế nào? Có phải phần đó lưu chung với phần thông tin về thành viên khi đăng ký không?Theo em thì tạo ra 2 bảng: Một lưu thông tin thành viên, một lưu những bài post. Trong bảng này có 3 cột:subject,comment,và tên user đã post.Tên user này là khóa ngoại tham chiếu đến cột tên user trong bảng lưu thông tin thành viên.Nhưng khi đó nhưng user reply được lưu ở đâu để khi truy cấp đến subject đó thì hiên lên toàn bộ những người đã reply trong đó???
Các cao thủ ơi! Ai biết chỉ em với nha!!!
Các cao thủ ơi! Ai biết chỉ em với nha!!!
Bài liên quan
các forum lớn thường lưu các bài post trong 1 bảng, mỗi bài post là 1 record, trong đó có field qui định bài post nào sẽ là bài đầu tiên của chủ đề
Bảng lưu các bài viết: posts
gồm:
topic_id
user_id //Đây là id của thành viên trong bảng users
post_time
post_subject
post_content
... và những cái lằng nhằng khác (ở đây tối giản cho dễ hiểu)
gồm
topic_title
...
- Khi đọc một chủ đề, truy vấn các posts có topic_id là id của chủ đề hiện thời, rồi xắp xếp theo post_time. Ví dụ:
j/k
Khi gửi bài trả lời thì lấy giá trị topic_id từ trình duyệt và thêm vào bảng posts. Ví dụ bạn có một link khi gửi bài trả lời như thế này:
http://web.com/post.php?mod=reply&topic_id=3
Thì lấy giá trị:
$topic_id = (int)$_GET['topic_id'];
trong bảng post chỉ có post_id là auto_increment, topic_id là khóa ngoại!