AJAX JQuery GET дает успех, но не обновляет таблицу - PullRequest
0 голосов
/ 03 сентября 2018

Я пытаюсь обновить прочитанное, когда пользователь нажимает на уведомление в папке «Входящие». Я видел в интернете, что с AJAX и jquery должно быть очень легко, но у меня странные проблемы с этим. После того, как я нажму, AJAX отвечает успешно, но когда я посмотрел в своей базе данных, она не была обновлена Затем я попытался сделать это вручную и дал правильные значения для этого в ссылке. После этого я получаю ответы, и база данных также была успешно обновлена. Так что проблема должна быть в AJAX, но я не знаю, что я сделал не так.

read.msg.php

include("db-conct.php");

$AID = $_GET['aid'];
$msgID = $_GET['msgid'];

$update = "UPDATE notify SET readed = 1 WHERE acc_ID = $AID AND ID = $msgID";

if ($conn->query($update) == TRUE) {
echo "Succes!";
}else{
echo "Error: " . $conn->error;
}
?>

AJAX-скрипт:

$(document).on("click","#notify-item",function(){

    var aid = "<?php echo $aid; ?>";
    var msgid = "<?php echo $notifID; ?>";

    $.ajax({

        type:"POST", //GET - update query should be POST
        url: "read.msg.php",  //your php end point
        data: 'aid=' + aid + '&msgid=' + msgid, 
        success: function(data){ //if success
            alert("Record successfully updated");
        }

    })
});

Я надеюсь, что кто-то может увидеть проблему.

ДОБАВЛЕННЫЕ ФОТОГРАФИИ:

MYSQL DB WITH readed STILL 0

enter image description here

Ответы [ 3 ]

0 голосов
/ 03 сентября 2018

На самом деле вы не проверяете, каков ответ от сценария, а просто предупреждаете («Запись успешно обновлена»);

Вы должны сделать это:

$.ajax({
    type:"POST",
    url: "read.msg.php",  
    data: {aid:aid ,msgid:msgid},
    success: function(data){
                if(data=="success"){
                alert("Record successfully updated");
                }
                else{
                alert("Some Error");
                }
            } 

});

php скрипт:

<?php
include("db-conct.php");
@extract($_POST);
$aid = $_POST['aid'];
$msgid = $_POST['msgid'];

$update = "UPDATE notify SET readed = 1 WHERE acc_ID = '$aid' AND ID = $'msgid'";

if ($conn->query($update) == TRUE) {
echo "success";
}else{
echo "Error: " . $conn->error;
}
?>
0 голосов
/ 03 сентября 2018

Скорее всего, проблема в коде обработки php.

Вы должны убедиться, что данные не пусты перед обновлением базы данных.

Оберните ваш код, используя isset в значениях POST, и попробуйте повторить его для тестирования.

Если оно пустое, это означает, что в вашем javascript есть проблема с данными перед публикацией.

<?php
if (isset($_POST['aid']) && isset($_POST['msgid'])) {

  //echo $_POST['aid'].' / '.$_POST['msgid'];

  include("db-conct.php");

  $aid = $_POST['aid'];
  $msgid = $_POST['msgid'];

  $update = "UPDATE notify SET readed = 1 WHERE acc_ID = '$aid' AND ID = $'msgid'";

  if ($conn->query($update) == TRUE) {

    echo "success";

  }else{

    echo "Error: " . $conn->error;

  }
}
?>

Удачного кодирования!

0 голосов
/ 03 сентября 2018
$(document).on("click","#notify-item",function(){

var aid = "<?php echo $aid; ?>";
var msgid = "<?php echo $notifID; ?>";

$.ajax({

    type:"POST", //GET - update query should be POST
    url: "read.msg.php",  //your php end point
    data: {'aid':aid ,'msgid':msgid}, // this is the data format
    success: function(data){ //if success
        alert("Record successfully updated");
    }

})

});

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