Я нахожу несколько частичных решений в ответах на этот вопрос, но общий ответ кажется отсутствующим. Итак, у меня есть таблица пользователей с столбцами user_id, user_name. На каждой статической странице веб-сайта я хочу отобразить все имена пользователей, которые сейчас просматривают эту страницу.выберите пользователей, которые в данный момент просматривают ту же страницу
- Должен ли я иметь представление таблицы с колонками user_id, webpage_link?
- Если да, то когда я буду обновлять данные в столбце webpage_link? Как подключить код из следующего ответа с базой данных mysql Is there a way to detect if a browser window is not currently active?? (Если это подходит для этой цели.)
- Для внесения обновлений очень часто не очень хорошо. Таким образом, пользователь может просматривать несколько страниц (например, в двух или более вкладках). Какой тип столбца webpage_link должен быть в этом случае?
Все понятно, кроме 2). Когда пользователь покинул страницу, я удалю соответствующую строку. Как это сделать? Также около 3) способ подсчета всех пользовательских строк перед добавлением новых, кажется, не очень эффективен. – Anton
2) вы можете попробовать отправить ajax-запрос на сервер, чтобы удалить эту страницу из записей пользователя, например. '$ (window) .unload()' – mindandmedia
3) Я не уверен, что понимаю, что вы имеете в виду. вам не нужно проверять, существует ли комманда user_id/path, в mysql вы можете просто использовать 'ON DUPLICATE KEY UPDATE' (проверить документы) – mindandmedia