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

Status offline pengguna online - masalah status offline

Tanpa mengetahui struktur DB Anda, ini seperti tebakan.

if ($time >= $loggedtime)

Anda membandingkan string seperti '2012-11-01 10:10:10' dengan $time whatever apa pun ada di DB Anda. Ini tampaknya menjadi masalah di sini. Anda dapat/harus menggunakan cap waktu UNIX. Mereka dapat dibandingkan dengan mudah.

Jika $time adalah stempel waktu UNIX yang bisa Anda lakukan:

if ($time >= time()-300)

EDIT:

Ubah kueri Anda untuk mendapatkan stempel waktu UNIX untuk online

$query = 'SELECT userid, handle, UNIX_TIMESTAMP(online) as online FROM ^users ORDER BY userid ASC';

EDIT2: Untuk membuatnya lebih jelas:Dalam versi pertama Anda, Anda membandingkan dua Tanggal dalam bentuk '2012-11-01 10:10:10'

if ('2012-11-01 10:10:10' < '2012-11-02 10:10:10')

Ini tidak dapat bekerja di PHP - ini seperti melakukan:

if ('apples' < 'bananas')

Anda harus membandingkan angka. Oleh karena itu saya menyarankan untuk menggunakan cap waktu unix yang dapat dengan mudah dibandingkan.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PHP mySQL - Masukkan catatan baru ke dalam tabel dengan penambahan otomatis pada kunci utama

  2. Koneksi database Mysql hilang dan mysql.sock hilang

  3. Pembaruan MySQL jika nilainya lebih besar dari nilai saat ini

  4. PHP &mySQL - ditulis sebagai «

  5. Bagaimana cara menerapkan fitur ingat saya?