Кнопка действия для запроса AJAX в php

#php #jquery #ajax

#php #jquery #ajax

Вопрос:

Как я могу скрыть уведомление с помощью ajax? Я хочу нажать кнопку и передать, чтобы удалить мое уведомление с идентификатором 5.

 if(isset($_POST['notification']))
{
  $id = $_GET['hidenotification'];
  $QUERY = "UPDATE `Notifications` SET `ActiveNotification` = 0 WHERE `id` = '$id'";
  $connection->query($QUERY);
}
  

$notification_id = 5;

 <a href='#' onClick='HideNotification($notification_id);'>Hide this notification</a>

function HideNotification(id)
{
 jQuery.ajax({
  type: "POST",
  url: "index.php",
  data: 'hidenotification=' id,
  cache: false,
  success: function(response)
    {
      alert("Notification deleted.");
    }
 });
}
  

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

Комментарии:

1. if(isset($_POST['notification'])) это никогда не бывает правдой

2. Вы передаете имя переменной ‘hidenotification’, но вы проверяли, если (isset($_POST [‘notification’])){ } это никогда не БЫВАЕТ ПРАВДОЙ, измените это на if(isset($ _POST [‘hidenotification’])){ }

3. он не работает..

Ответ №1:

Вы можете просто скрыть это с hide помощью функции Jquery:

 <a class="notification" href='#' onClick='HideNotification($notification_id);'>Hide this notification</a>

function HideNotification(id)
{
    jQuery.ajax({
        type: "POST",
        url: "index.php",
        data: 'hidenotification=' id,
        cache: false,
        success: function(response)
        {
            $('.notification').hide()
        }
    });
}
  

Комментарии:

1. Я хочу запрашивать в mysql не только на странице.

2. Нет, когда я нажимаю на кнопку, мое уведомление не скрывается, даже после обновления страницы.

3. alert Когда-либо срабатывал ваш первоначальный вопрос? Выполняется ли ajax? Есть ли у вас какие-либо ошибки в консоли?

4. $(‘.notification’).hide() также должен работать. Вы добавили notification класс в привязку?

Ответ №2:

Просто, если вы хотите скрыть свою кнопку после получения ответа.

попробуйте следующий код…

Html-код

 $notification_id = 5;

<a href='javascript:void(0);' class='notification' id="<?=$notification_id?>">Hide this notification</a>
  

Код Jquery

 $(".notification").click(function(){
    var obj=$(this);
    jQuery.ajax({
        type: "POST",
        url: "index.php",
        data: {hidenotification: obj.attr('id')},
        cache: false,
        success: function(response)
        {
           obj.hide()// if you want to only hide button
           obj.remove() //if you want to remove button
        }
    });
});
  

Php-код

 if(isset($_POST['hidenotification']))
{
  $id = $_POST['hidenotification'];
  $QUERY = "UPDATE `Notifications` SET `ActiveNotification` = 0 WHERE `id` = '$id'";
  $connection->query($QUERY);
}
  

Комментарии:

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

Ответ №3:

 function HideNotification(id)
{
jQuery.ajax({
type: "POST",
url: "index.php",
data: {hidenotification:id},
cache: false,
success: function(response)
{
  alert("Notification deleted.");
}
});
}
  

Ответ №4:

Вы можете использовать следующий код для скрытия уведомлений и обновления в таблице базы данных через ajax php. И используйте $_REQUEST ИЛИ $ _POST, если вы использовали метод post в ajax.

 <a class="notification" id="<?php echo $notification_id;?>" href='#' onClick="HideNotification('<?php echo $notification_id;?>');">Hide this notification</a>


function HideNotification(id)
{
jQuery.ajax({
type: "POST",
url: "index.php",
data: {hidenotification:id},
cache: false,
success: function(response)
{
jQuery('#' id).hide();
}
});
}
  

Комментарии:

1. Можете ли вы сообщить мне, что такое ошибка? Вы уверены, что библиотека jquery включена?

Ответ №5:

просто продолжайте

 $id = $_POST['hidenotification'];
  $QUERY = "UPDATE `Notifications` SET `ActiveNotification` = 0 WHERE `id` = '$id'";
  $connection->query($QUERY);
  

вместо этого.Удалите if(isset($_POST['notification'])) и используйте post.