Mysql
 sql >> база данни >  >> RDS >> Mysql

Кой е най-лесният начин да определите дали даден потребител е онлайн? (PHP/MYSQL)

Не се притеснявайте да откривате разликите между часовите зони. Това не е необходимо.

Всеки път, когато потребителят осъществи достъп до страница, актуализирайте поле в техния запис за последно актуализирано време на таблицата Потребители. След това направете заявка за всички потребители, които имат последно актуализирано време през последните 5 минути. Нещо повече от това и те се считат за „офлайн“.

Ако използвате вашето сървърно време, чрез функцията NOW() в MySQL, ще отклоните изчисляването на разликите между часовите зони.

Това е стандартният начин за проследяване колко потребители са онлайн в момента (значение, активни през последните няколко минути).

Постоянно актуализиран

Ако искате да знаете, че те все още са активни, дори когато не прескачат от страница на страница, включете малко javascript, за да пингувате вашия сървър на всеки 60 секунди или така, за да ви уведомим, че все още са живи. Ще работи по същия начин като първоначалното ми предложение, но ще актуализира вашите записи, без да се налага те да преглеждат сайта ви трескаво поне веднъж на всеки пет минути.

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. Решаване на повреда на комуникационната връзка с JDBC и MySQL

  2. MySQL - Използване на If Then Else в MySQL UPDATE или SELECT заявки

  3. ПРЕДУПРЕЖДЕНИЕ SqlExceptionHelper:143 - SQL грешка:0, SQLState:08S01- SqlExceptionHelper:144 - Неизправност на комуникационната връзка

  4. Как да направя <option selected=selected> зададен от MySQL и PHP?

  5. Mysql подобрява скоростта на SELECT