Voglio fare qualcosa come Facebook. Possiamo vedere in qualsiasi momento dove abbiamo effettuato l'accesso. Ad esempio:
Windows PC · New Delhi, India Edge · Active now
Windows PC · New Delhi, India Chrome · 8 minutes ago
Xiaomi Redmi 4A · New Delhi, India Facebook app · 10 hours ago
Ora, ho creato una tabella nel database che memorizza principalmente l'ID utente, un ID univoco e un agente utente.
Chi effettua il login viene salvato nella tabella.
Se un utente accede da 3 dispositivi diversi, vedo 3 voci per lo stesso uso nella tabella.
Tuttavia, il problema che sto affrontando è, se accedo nuovamente (quando i cookie sono cancellati o qualcosa del genere), vedo un'altra voce nella tabella per stesso dispositivo . Questo è quello che non voglio e Facebook lo gestisce in qualche modo. Facebook mostra solo una voce per un singolo utente e dispositivo.
Ora quello che pensavo è rimuovere la voce se lo stesso utente effettua nuovamente il login (senza disconnettersi: magari cancellando i cookie o quando la sessione è scaduta) con lo stesso browser / app e mantiene una singola voce .
Ma ancora una volta, non so quale riga eliminare . Potrebbe esserci un utente connesso con 2 follemente stesso dispositivo nello stesso browser / app. Ora come posso rimuovere l'inserimento di uno di loro?
Ecco come appaiono le righe:
userId UniqueId UserAgent/Device
2 342 Samsung - Chrome
2 341 Windows PC - Chrome
2 345 Nokia Lumia 630 - Internet Explorer (actually logged in)
2 346 Nokia Lumia 630 - Internet Explorer (actually logged in)
2 360 Nokia Lumia 630 - Internet Explorer
(Duplicate Entry because of re-login (Cookies cleared or session expired))
2 363 Nokia Lumia 630 - Internet Explorer
(Duplicate Entry because of re-login (Cookies cleared or session expired))
2 389 Nokia Lumia 630 - Internet Explorer
(Duplicate Entry because of re-login (Cookies cleared or session expired))
2 367 Nokia Lumia 630 - Internet Explorer
3 378 something
4 379 something
(L'ID utente 2 ha 8 sessioni)
Ecco cosa voglio:
2 342 Samsung - Chrome
2 341 Windows PC - Chrome
2 345 Nokia Lumia 630 - Internet Explorer
2 346 Nokia Lumia 630 - Internet Explorer
3 378 something
4 379 something
(L'ID utente 2 ha 4 sessioni)
È quello che sto cercando di implementare è un approccio corretto o dovrei fare qualcosa di diverso?
MODIFICA: conteggi fissi.