Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.69/13: Рейтинг темы: голосов - 13, средняя оценка - 4.69
12 / 2 / 2
Регистрация: 16.06.2017
Сообщений: 532

Как узнать, что пользователь уже прочитал запись?

06.07.2018, 21:40. Показов 3242. Ответов 57
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет! Сделал страницу новостей на сайте, теперь хочу сделать так, чтобы когда я добавлял новость, то надо выделять слово Новость в меню другим цветом, тем людям, кто еще не читал этот новость.
Цвет знаю как менять, но вот не могу определить тех кто читал и не читал.
Сначала думал добавить в куки и через этот куки проверять, но если человек очистит куки, то меню, снова поменяет цвет.
Потом хотел использовать запись в БД, т.е. создать отдельный столбик, где будет записываться 1, если прочитал и 0 если не читал. И менять цвет меню тем, у кого 0. Потом подумал, что для этого не хочется создать отдельный столбик.
Есть ли другие способы проверки?
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
06.07.2018, 21:40
Ответы с готовыми решениями:

ADO.Recordset - Как узнать, что запись уже редактируется
Если многопользовательский вариант при доступе ADO.Recordset как узнать что запись кем то модифицируется

Какова вероятность того, что все три книги читатель уже прочитал раньше
На книжной полке стоят 30 различных книг. Читатель, просмотрев их, обнаружил, что 10 книг он уже прочитал раньше. После этого он попросил...

Как написать, что такой пользователь уже есть при регистрации
Добрый день. Мне нужно делать регистрацию пользователя на сайте. К базе данных я подключилась, после ввода данных и нажатия на кнопку...

57
 Аватар для tarasalk
1992 / 1216 / 440
Регистрация: 13.06.2013
Сообщений: 4,115
06.07.2018, 21:44
Нету. Полюбому нужно где-то сохранить читал он или нет. БД самое логичное.

Куки не надо, если новость это ссылка - то браузер сам отмечает переходил по ней юзер или нет.
На уровне css это:
Не посещенная — a:link
Посещенная — по которой уже выполнялся переход — a:visited
0
12 / 2 / 2
Регистрация: 16.06.2017
Сообщений: 532
06.07.2018, 22:03  [ТС]
Цитата Сообщение от tarasalk Посмотреть сообщение
если новость это ссылка - то браузер сам отмечает переходил по ней юзер или нет.
Слово Новость в меню, да это ссылка, но я отключил функцию, который запоминает переход по ссылке.
Да и еще, мне не надо запомнить перешел ли пользователь по ссылке. Я проверку хочу сделать на самой странице новости
0
1152 / 554 / 320
Регистрация: 21.06.2012
Сообщений: 1,854
07.07.2018, 09:36
Цитата Сообщение от Риназ Посмотреть сообщение
Потом подумал, что для этого не хочется создать отдельный столбик.
Хорошая новость: Вам не придётся создавать новый столбик.
Плохая новость: Вам придётся создавать новую таблицу с полями id_news и id_user, и то, это будет работать только для авторизованных пользователей.

А если точность не критична, то конечно по кукам нужно определять, ну или по ip
0
12 / 2 / 2
Регистрация: 16.06.2017
Сообщений: 532
07.07.2018, 18:46  [ТС]
Цитата Сообщение от sasha0012 Посмотреть сообщение
Плохая новость: Вам придётся создавать новую таблицу с полями id_news и id_user, и то, это будет работать только для авторизованных пользователей.
Нет, лучше один столбик. И то что он будет работать для авторизованных, я сам хотел так сделать. Хотя в любом случае я уже сделал, создав 1 столбик.
Цитата Сообщение от sasha0012 Посмотреть сообщение
А если точность не критична, то конечно по кукам нужно определять, ну или по ip
По кукам будет точно, пока не удалят куки. А IP не точный, т.к. большинство ip динамические.

Добавлено через 1 минуту
sasha0012, Другой вопрос! Можете подсказать как сделать конкурс рефералов. Если да, то создам новую тему.
0
1152 / 554 / 320
Регистрация: 21.06.2012
Сообщений: 1,854
07.07.2018, 20:35
Цитата Сообщение от Риназ Посмотреть сообщение
Можете подсказать как сделать конкурс рефералов. Если да, то создам новую тему.
Даже боюсь предположить что будет если "Нет".

А если серьёзно, то это очень неоднозначный вопрос. А конкурс "Бекини" предполагается? Или просто кинуть их в яму, и кто выживет тот и победитель?

Что Вы имеете ввиду под "конкурсом рефералов"?

Цитата Сообщение от Риназ Посмотреть сообщение
Хотя в любом случае я уже сделал, создав 1 столбик.
А можно узнать, как одним столбиком можно определить кто и какую новость просмотрел? И в какую таблицу Вы его добавили?
1
12 / 2 / 2
Регистрация: 16.06.2017
Сообщений: 532
07.07.2018, 20:40  [ТС]
Цитата Сообщение от sasha0012 Посмотреть сообщение
Что Вы имеете ввиду под "конкурсом рефералов"?
Есть же конкурсы на сайтах, вот конкурс рефералов, это лишь 1 из видов таких конкурсов.
Думаю кто такие рефералы вы знаете
Цитата Сообщение от sasha0012 Посмотреть сообщение
А можно узнать, как одним столбиком можно определить кто и какую новость просмотрел? И в какую таблицу Вы его добавили?
Добавил новый столбик, там 0 или 1. Сделал условие, где по id определяет пользователя и если у него в этом столбике 0, то меняем цвет, а если нет, то ничего не делаем. А когда добавляю новость, то обнуляю всем
0
1152 / 554 / 320
Регистрация: 21.06.2012
Сообщений: 1,854
07.07.2018, 20:44
Цитата Сообщение от Риназ Посмотреть сообщение
Добавил новый столбик, там 0 или 1. Сделал условие, где по id определяет пользователя и если у него в этом столбике 0, то меняем цвет, а если нет, то ничего не делаем.
Для одной новости, согласен. Но ведь у Вас там 15 новостей, как я понял.
0
12 / 2 / 2
Регистрация: 16.06.2017
Сообщений: 532
07.07.2018, 20:46  [ТС]
sasha0012, Все новости находятся на одной странице

Добавлено через 58 секунд
Поэтому, если пользователь зашел на страницу Новости, то меняем значение в БД на 1

Добавлено через 52 секунды
Так что на счет конкурса!?)
0
1152 / 554 / 320
Регистрация: 21.06.2012
Сообщений: 1,854
07.07.2018, 20:49
Цитата Сообщение от Риназ Посмотреть сообщение
Так что на счет конкурса!?)
На счёт конкурса, я всё равно не понял какой именно конкурс Вы хотите. Хотя кто такие рефералы отлично понимаю.

Всё, я на футбол
0
12 / 2 / 2
Регистрация: 16.06.2017
Сообщений: 532
08.07.2018, 15:40  [ТС]
sasha0012, Запускаю конкурс, и только после этого идет счет рефералов. Т.е. кто пригласил больше всего рефералов в период конкурса, тот занимает 1 место. Всего мест 5.
Учитываются только активные рефералы. Активным считается тот, у кого рейтинг >=1 и кол-во записей, который он оставил >= 1.
Рейтинг хранится в столбике rating, а записи в total.
Проблема в том, что я не могу считать только тех, которые приглашены в период конкурса. 2-ая проблема зачислять призы нужным победителям

Добавлено через 18 часов 44 минуты
sasha0012, поняли какой конкурс?
0
1152 / 554 / 320
Регистрация: 21.06.2012
Сообщений: 1,854
08.07.2018, 16:13
Риназ, не фига не понял. Честно, перечитывал несколько раз, и как будто какой-то сон перечитываю. Хотел цитировать отрывки чтобы уточнить детали, но оказалось что нужно просто всё описание еще раз процитировать.
0
12 / 2 / 2
Регистрация: 16.06.2017
Сообщений: 532
08.07.2018, 18:57  [ТС]
sasha0012, короче, надо за считать только тогда когда действует конкурс. Как это можно сделать
0
управление сложностью
 Аватар для Почтальон
1693 / 1306 / 259
Регистрация: 22.03.2015
Сообщений: 7,545
Записей в блоге: 5
09.07.2018, 10:34
Цитата Сообщение от Риназ Посмотреть сообщение
за считать только тогда когда действует конкурс
откуда юзвери и система будут знать, когда начинает действовать конкурс ? (это наводящий вопрос)
0
12 / 2 / 2
Регистрация: 16.06.2017
Сообщений: 532
09.07.2018, 11:54  [ТС]
Почтальон, На странице конкурса будет отображался дата старта и окончания.
Вы что, никогда не видели конкурсы на сайте?
0
 Аватар для tarasalk
1992 / 1216 / 440
Регистрация: 13.06.2013
Сообщений: 4,115
09.07.2018, 12:30
Риназ, обратите внимание на
Цитата Сообщение от Почтальон Посмотреть сообщение
(это наводящий вопрос)
Если у вас есть дата начала и конца конкурса, в чем проблема отфильтровать приглашенных вне конкурса?
0
12 / 2 / 2
Регистрация: 16.06.2017
Сообщений: 532
09.07.2018, 20:32  [ТС]
tarasalk, это я могу.
Проблема в том, что я не могу определить сколько рефералов у 1 пользователя и подходят ли они по условию
0
767 / 323 / 157
Регистрация: 26.05.2016
Сообщений: 2,127
10.07.2018, 16:01
дату записывайте в бд
например два дня и по ней делайте отбор или исключение
0
12 / 2 / 2
Регистрация: 16.06.2017
Сообщений: 532
10.07.2018, 16:04  [ТС]
andyyy, я знаю как сортировать по дате. Теперь надо сортировать по условиям, которой я писал выше
0
767 / 323 / 157
Регистрация: 26.05.2016
Сообщений: 2,127
10.07.2018, 23:01
Получайие столбец из базы и делайте условие)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
10.07.2018, 23:01
Помогаю со студенческими работами здесь

Как узнать, что ты уже в интернете, функция InternetGetConnectedState().
Здравствуйте! Есть такая функция InternetGetConnectedState(); из WinInet, так вот делаю так: (все, как написано) ULONG l; ...

Как узнать, что Microsoft Agent уже загружен?
Kak Mozhno usnat shto Agent uzhe sagruzhen. Naprimer ispolsuyu 2 Agenta . I pered tem kak sapustit odnogo is nich nuzhno proverit ...

Как узнать, что тактирование порта уже включено?
Запускаю тактирование, например, PA. RCC->APB2ENR|= RCC_APB2ENR_IOPAEN; Как узнать, что тактирование уже включено (например,...

Как узнать что соединения уже нет и перезапустить сервер?
Использую сервер с примера: http://msdn.microsoft.com/en-us/library/windows/desktop/ms737629(v=vs.85).aspx #undef UNICODE #define...

Как узнать что пользователь ушел со страницы ???
Как узнать что пользователь ушел со страницы ??? А то ждать таймаута сесии нехорошо ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru