|
|
|
| Здравствуйте! Посмотрел скрипт на этом сайте 'список пользователей онлайн', сделал, список выводится. А как сделать чтобы в моем списке всех зарегестрированных пользователей подсвечивался зарегестрированный юзер, если он сейчас на сайте? Вся информация о зарег юзерах у меня хранится в таблице users и из таблицы session (в которую заносятся имена юзеров онлайн) совпадения только по никам.
Помогите пожалуйста! | |
|
|
|
|
|
|
|
для: Sarat
(12.11.2009 в 03:23)
| | > и из таблицы session (в которую заносятся имена юзеров онлайн) совпадения только по никам.
В таблице session разумнее хранитть ключ к таблице users.
Тогда запрос списка зарегистрированных пользователей будет выглядеть как-то так:
SELECT users.*, (session.user_id IS NOT NULL) AS online
FROM users LEFT JOIN session ON users.id = session.user_id
|
| |
|
|
|
|
|
|
|
для: Trianon
(12.11.2009 в 08:30)
| | а как сделать этот ключ в таблице session? Или ключ не делается и всё решается этим запросом? | |
|
|
|
|
|
|
|
для: Sarat
(12.11.2009 в 12:47)
| | Добавить поле user_id
Убрать поле user
Соответствующим образом изменить скрипт. | |
|
|
|
|
|
|
|
для: Trianon
(12.11.2009 в 08:30)
| | Ключ сделал, в таблицу session записывается тот же номер user_id что и в таблице uses поле id. Запрос что вы написали :
(SELECT users.*, (session.user_id IS NOT NULL) AS online
FROM users LEFT JOIN session ON users.id = session.user_id) подойдет? А что он значит?
(ВЫТАЩИТЬ из таблицы юзерс все поля(...)...) а дальше как переводится? Дело в том что я первый раз встречаюсь с такими запросами. А может быть в моей ситуации подойдет более простой запрос? | |
|
|
|
|
|
|
|
для: Sarat
(12.11.2009 в 22:04)
| | ВЫТАЩИТЬ из таблицы юзерс все поля, и кроме того выдать поле online равно 0 , если в таблице sessions не нашлось подходящей строки. И равно 1 , если нашлась.
Если user_id уникальное поле в таблице sessions - всё вполне будет работать. | |
|
|
|
|
|
|
|
для: Trianon
(12.11.2009 в 22:16)
| | Спасибо! Всё подошло, работает единственное пришлось создать поле online в таблице users. | |
|
|
|