Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Apa cara termudah untuk menentukan apakah pengguna sedang online? (PHP/MYSQL)

Jangan repot-repot mencari tahu perbedaan antara zona waktu. Itu tidak perlu.

Setiap kali pengguna mengakses halaman, perbarui bidang dalam catatan tabel Pengguna waktu terakhir diperbarui. Kemudian lakukan kueri untuk semua pengguna yang memiliki waktu pembaruan terakhir dalam 5 menit terakhir. Lebih dari ini, dan mereka dianggap "offline".

Jika Anda menggunakan waktu server Anda, melalui fungsi NOW() di MySQL, Anda akan menghitung perbedaan antara zona waktu.

Ini adalah cara standar untuk melacak berapa banyak pengguna yang saat ini online (Artinya, aktif dalam beberapa menit terakhir).

Terus diperbarui

Jika Anda ingin tahu mereka masih aktif bahkan ketika mereka tidak melompat dari halaman ke halaman, sertakan sedikit javascript untuk melakukan ping ke server Anda setiap 60 detik atau lebih untuk memberi tahu Anda bahwa mereka masih hidup. Ini akan bekerja dengan cara yang sama seperti saran awal saya, tetapi itu akan memperbarui catatan Anda tanpa mengharuskan mereka menjelajahi situs Anda dengan panik setidaknya sekali setiap lima menit.

var stillAlive = setInterval(function () {
    /* XHR back to server
       Example uses jQuery */
    $.get("stillAlive.php");
}, 60000);


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Berurusan dengan kunci utama duplikat pada penyisipan di SQLAlchemy (gaya deklaratif)

  2. Backup dan Restore database MySQL di PHP

  3. Ambil lebih dari 3 data dari mysql ke kotak centang

  4. Tambahkan penyortiran paging dan cari menggunakan jquery datatable

  5. Doctrine 2 menambahkan bidang baru yang secara otomatis menghasilkan nilai urutan