- status มีค่า default = 0 จะมีค่าเป็น 1 เมื่อ user คนใดล็อกอินเข้ามา ก็เปลี่ยน status เป็น 1 ถ้าไม่ได้ล็อกอินก็ 0
เสร็จแล้วก็คิวรี่ ออกมาโชว์ where status = 1 ก็จะได้ user ที่ล็อกอินเข้ามาทั้งหมดมาโชว์ครับ
- datetime สมมติมี user ชื่อ A กับ ฺB
สมมติ A login เข้ามา ก็จะอัพเดท datetime เป็น ณ เวลานั้น และจะมีการอัพเดทตลอดเวลาที่ A ทำการ refresh หน้าใด ๆ ในเว็บ และเมื่อ A ไม่ใช้เว็บแล้วถ้ากด logout ก็อัพเดท status เป็น 0
แต่ถ้า A ปิดหน้าเว็บไปเฉย ๆ ไม่ได้กด logout ตรงนี้ก็ต้องให้ user อื่นมาทำการอัพเดทแทน
เมื่อ B login เข้ามา ก็จะ update users set status = 0 where status = 1 and now()+20 นาที > datetime
update users set status = 0 where status = 1 and now()+20 นาที > datetime วางไว้ทุกหน้าที่ user จะเข้าครับ
มันจะหมายความว่า ทุกครั้งที่มีการรีเฟรชหน้านี้ ก็จะทำการอัพเดท user ที่ไม่มีการติดต่อกับเว็บ user ที่ไม่ทำการรีเฟรชหรือทำการปิดหน้าไปแล้ว เกิน 20 นาที ก็จะขึ้น status offline ถ้า user คนนั้นต้องการ online เค้าก็จะทำการรีเฟรชหน้าตัวเอง status ของเค้าก็จะอัพเดทเป็น 1 เค้าก็จะออนไลน์กลับมา