Как обновить статус сообщения, чтобы прочитать, просто нажав на профиль друга - PullRequest
0 голосов
/ 26 января 2020

Я сталкиваюсь с трудностями при преобразовании прочитанного статуса сообщения (значение по умолчанию = 0 / непрочитанное, я хочу, чтобы оно преобразовало значение = 1 / чтение).

У меня есть таблица для сообщений со строкой «status = 0» по умолчанию, я хочу, чтобы, если получатель открыл сообщение, оно должно было быть преобразовано в «status = 1», что означает, что сообщение было прочитано. Будет очень полезно, если эта проблема будет решена с помощью функции onclick () (любые функции ajax / jquery)

Screenshot Attached

запрашиваемых друзей на боковой панели (на странице сообщений) кодированный:

<a href="inbox?msgid=<?php echo $id;?>">
   <div class="row con_cont_list">
       <div class="col-3">
           <img src="media/<?php echo $ProfileImg;?>" width="60px" height="60px" alt="">
       </div>
       <div class="col-9">
           <p><?php echo $FullName;?>
             <?php if($frnd_msgs_noti):?>
            <span class="badge badge-danger" style="border-radius:50%;"><?php echo $frnd_msgs_noti;?></span>
            <?php endif;?>
          </p>
       </div>
   </div>

1 Ответ

0 голосов
/ 26 января 2020

Дайте это onclick: <a onclick="changeStatusToRead($id)" href="inbox?msgid=<?php echo $id;?>">

Установите маршрут на сервере, который найдет сообщение по идентификатору и обновит его значение до 1

Затем JavaScript отправьте идентификатор на сервер:

   changeStatusToRead = function (messageID) {
    fetch('set-message-status-to-read', {
        method: 'post',
        body: JSON.stringify({
            messageID
        })
    })
}

Из этого кода JS вы получите messageID текущего сообщения на стороне сервера, а затем выполните лог c там. После того как вы обновили значение сообщения, отправьте ответ с сервера и разверните эту функцию JS примерно так:

   changeStatusToRead = function (messageID) {
    fetch('set-message-status-to-read', {
        method: 'post',
        body: JSON.stringify({
            messageID
        })
    }).then(response => {
        return response.json();
    }).then(data => {
        // data that you have sent from serverside
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...