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条)

报告相同问题?

悬赏问题

  • ¥20 求快手直播间榜单匿名采集ID用户名简单能学会的
  • ¥15 DS18B20内部ADC模数转换器
  • ¥15 做个有关计算的小程序
  • ¥15 MPI读取tif文件无法正常给各进程分配路径
  • ¥15 如何用MATLAB实现以下三个公式(有相互嵌套)
  • ¥30 关于#算法#的问题:运用EViews第九版本进行一系列计量经济学的时间数列数据回归分析预测问题 求各位帮我解答一下
  • ¥15 setInterval 页面闪烁,怎么解决
  • ¥15 如何让企业微信机器人实现消息汇总整合
  • ¥50 关于#ui#的问题:做yolov8的ui界面出现的问题
  • ¥15 如何用Python爬取各高校教师公开的教育和工作经历