dongye8110 2015-02-16 20:16
浏览 59
已采纳

使用ajax更新sql

I've been trying this code but i don't know what's wrong with it, i want my database to be update once a link is click before it goes to another page

<script type="text/javascript">
function performAjaxSubmission(){

$.ajax({
    url: 'notif_update.php',
    method: 'POST',
    data: {
        action: 'save',
        field: $("#getNotifId").val()
    },
    dataType:'json',
    success: function(data) {
        alert(data.success);
        }
    });
return false; 
}

jQuery(document).ready(function() {
$("#notif").click(performAjaxSubmission);
});
</script>

and my notif_update.php is this:

<?php
  //UpdateData.php
  require_once("connection/dbConn.php");


if (isset($_POST['action'])) {
    $value = $_POST['getNotifId'];            
    mysqli_query($conn, "update notif set notif_status='read' WHERE id=".$value."'");
    mysqli_close($conn);
    $message ="Updated Sucessfuly!";
 }

 echo json_encode(array('success'=>$message));
?>

my html code is like this:

echo "<a href='".$row['notif_link']."' target='content' id='notif'>";
                        echo "<div id='notif_block'>";
                        echo "<img src='".$imgSrc."' width='50px' height='50px' style='padding-right: 5px; float: left;'>";
                        echo $row['notif_name'];
                        echo "<br>";
                        echo "<span style='color: #999999; font-size: 16px;'>".$subTitle."</span>";
                        echo "<span style='font-style: italic; color:#999999; font-size: 16px;'> ";
                        echo date("m-d-Y", $timestamp);

                        echo "<input id='getNotifId' type='text' value='".$row['notif_id']."'>";
                        echo "</span></div></a>";

this html code is a generated notification base on what the database given, i want that when a user click the notification, the status of 'unread' in the database will go 'read' so that it won't be displayed anymore

  • 写回答

2条回答 默认 最新

  • douyou2048 2015-02-16 20:23
    关注

    Your PHP script is expecting a parameter called getNotifId and you're sending 'field'. Change the name being sent via ajax like this:

    ...
    data: {
        action: 'save',
        getNotifId: $("#getNotifId").val()
    },
    ...
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 对于相关问题的求解与代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料
  • ¥15 使用R语言marginaleffects包进行边际效应图绘制