как оповестить учетную запись нескольких пользователей с помощью ajax - PullRequest
0 голосов
/ 06 мая 2019

Я пытаюсь отправить уведомление в учетные записи пользователей, вставив записи в базу данных с указанием того, была ли запись просмотрена или нет, используя true или false.проблема в том, что когда первый пользователь увидел, что уведомление в базе данных стало истинным, другие пользователи не смогут его увидеть.вот мой код ниже

if($_POST["view"] != '')
 {
  $update_query = "UPDATE notifier SET n_status=1 WHERE n_status=0";
  mysqli_query($conn, $update_query);
 }

1 Ответ

0 голосов
/ 07 мая 2019

Вам нужно добавить столбец, чтобы связать ваши уведомления с вашей пользовательской таблицей, чтобы вы notifier выглядели как таблица (это пример, адаптируйте ее под свои нужды);

create table "user"(
    id uuid default public.uuid_generate_v4() not null
);

create table "notifier"(
    id uuid default public.uuid_generate_v4() not null,
    user_id uuid references user(id) not null,
    n_status int not null default 0
);

Теперь, когда вы добавляете уведомление для пользователя с идентификатором 852f5ea9-0bad-4c0f-aab8-00479eae026f:

insert into "notifier" (id, user_id, n_status) 
    values (public.uuid_generate_v4(), '852f5ea9-0bad-4c0f-aab8-00479eae026f', 0);

Затем, когда этот пользователь прочитал уведомление с идентификатором ddf5fb8f-3100-4860-a61e-bae2a1393a8e, вы меняете статус уведомления.

update "notifier" set n_status = 1 
    where user_id = '852f5ea9-0bad-4c0f-aab8-00479eae026f'
    and id = 'ddf5fb8f-3100-4860-a61e-bae2a1393a8e'

В целях безопасности я думаю, что лучше изменить статус на id (исходящий от клиента) и добавить user_id, который не может быть подделан вашим клиентом, если у вас есть надлежащий аутентификатор.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...