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

niestandardowe forum php - pokazywanie nowych/nieprzeczytanych postów

Wiele większych programów forum używa tabeli śledzenia, aby nadążyć za tym, kto co przeczytał, coś takiego (bardzo uproszczone):

CREATE TABLE topic_tracking (
    user_id INT NOT NULL,
    topic_id INT NOT NULL,
    last_visit DATETIME NOT NULL,
    PRIMARY KEY (user_id, topic_id)
)

Następnie używasz przyłączenia na tej tabeli, aby sprawdzić, czy wyświetlany post jest przeczytany, czy nie. Ponieważ będziesz stronicować swoje wątki, powinno to wygenerować stosunkowo niewiele dodatkowych zapytań (w zależności od tego, ile postów wyświetlasz na stronie).

Gdy użytkownik odwiedza wątek, zaktualizuj tę tabelę śledzenia o sygnaturę czasową jego wizyty. Następnie, wyświetlając linki do wątków, sprawdź tę tabelę, aby zobaczyć, czy ich ostatnia_wizyta jest wcześniejsza niż ostatni post w wątku. Pozwala to również wyświetlać „zaktualizowane” wątki, a nie tylko „nowe”.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PHPMyAdmin wymusza użycie ut8mb4 jako domyślnego sortowania

  2. SubSonic 3 i MySQL, usunięcie podkreślenia z nazwy kolumny w metodzie CleanUp() powoduje wyjątki podczas używania właściwości w linq-query

  3. Alternatywy MySQL Workbench — zarządzanie konfiguracją ClusterControl

  4. Lista usług parzenia pokazuje, że mysql działa, ale nie można się połączyć

  5. Wyświetl rekord starszy niż 3 miesiące w sql