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 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么
  • ¥15 banner广告展示设置多少时间不怎么会消耗用户价值
  • ¥16 mybatis的代理对象无法通过@Autowired装填
  • ¥15 可见光定位matlab仿真
  • ¥15 arduino 四自由度机械臂
  • ¥15 wordpress 产品图片 GIF 没法显示
  • ¥15 求三国群英传pl国战时间的修改方法
  • ¥15 matlab代码代写,需写出详细代码,代价私
  • ¥15 ROS系统搭建请教(跨境电商用途)
  • ¥15 AIC3204的示例代码有吗,想用AIC3204测量血氧,找不到相关的代码。