Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Status użytkownika online offline - problem ze statusem offline

Bez znajomości struktury bazy danych to rodzaj zgadywania.

if ($time >= $loggedtime)

Porównujesz ciąg taki jak „2012-11-01 10:10:10” z czymkolwiek $time jest w twoim DB. Wydaje się, że jest to problem. Możesz/powinnaś używać znaczników czasu UNIX. Można je łatwo porównać.

Jeśli $time były znacznikiem czasu UNIX, który można po prostu zrobić:

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

EDYTUJ:

Zmień zapytanie, aby uzyskać sygnaturę czasową UNIX dla online

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

EDIT2: Aby było to jaśniejsze:W swojej pierwszej wersji porównywałeś dwie daty w postaci „2012-11-01 10:10:10”

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

To nie działa w PHP - to jak robienie:

if ('apples' < 'bananas')

Musisz porównać liczby. Dlatego zasugerowałem użycie uniksowych znaczników czasu, które można łatwo porównać.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Podczas importowania pliku mysqldump BŁĄD 1064 (42000) w pobliżu „■/” w wierszu 1

  2. Czy istnieje powód, dla którego MySQL nie obsługuje FULL OUTER JOINS?

  3. Wyzwalacz MySQL przed wstawieniem wartości Sprawdzanie

  4. Długa liczba całkowita jest przekształcana po wstawieniu w krótszej kolumnie, nie jest obcinana. Czemu? Jaka jest formuła?

  5. uzyskiwanie mysql_insert_id() podczas używania ON DUPLICATE KEY UPDATE w PHP