更新查询sql从数据库中删除其他字段的内容

时间:2011-05-21 13:46:39

标签: php mysql ajax oop

我有一个带有以下字段的tblUsers的数据库 1. DiaryLighton | DiaryLichtoff | DiarySleep | DiaryAwake | FeedbackUser | FeedbackDoctor

当我在日记页面上时,我需要填写DiaryLighton | DiaryLightoff | DiarySleep |点击保存按钮后,DiaryAwake。反馈 - 页面上也应该发生同样的情况。单击按钮后,使用FeedbackUser |应填写FeedbackDoctor。

然而问题是,它保存了数据,但是当我保存反馈后保存日记时,反馈的内容会从表中消失,反之亦然。

有人知道吗?这是代码。谢谢!

保存日记:

public function saveDay($p_iUserid) {
    include("Connection.php"); //open connection to database

    $sql="UPDATE tblDiary
                     SET
                          DiaryLichtAan = '".$this->Aanuur."',
                          DiaryLichtUit = '".$this->Uituur."',
                          DiaryOpstaan = '".$this->Opstaan."',
                          DiaryGaanSlapen = '".$this->Slapen."'
                     WHERE fk_UserId = ".$p_iUserid."
                     and DiaryDay = '".$this->Day."';"; 
    try
    {
        $link->query($sql); 
    }
    catch(Exception $e)
    {
        $feedback = $e->getMessage();   
    }   

    mysqli_close($link); //close connection with database
}

AJAX:

$(".submitbutton").click( function() {
    var aanuur = $(".onzichtbaar_aan").val();
    var uituur = $(".onzichtbaar_uit").val();               
    var opstaan = $(".onzichtbaar_opstaan").val();
    var slapen = $(".onzichtbaar_slapen").val();
    var feeling = $("#onzichtbaar_feeling").val();
    var day = $(".confirmday").val();

    $.post("ajax/save.php", {lichtaan: aanuur, 
                            lichtuit: uituur, 
                            slapen: slapen, 
                            opstaan: opstaan, 
                            feeling: feeling,
                            userid: <?php echo $_SESSION['id']; ?>,
                            day: day},
            function(data) {
    });
    return false;
});

保存反馈:

public function saveFeedbackP($p_iUserid) {
    include("Connection.php");

    try
    {
        $sql = "UPDATE tblDiary
                SET 
                    DiaryOpmerkingen = '".$this->Patientfb."'
                WHERE fk_UserId = ".$p_iUserid." 
                AND DiaryDay = ".$this->Day.";";
        $rResult = mysqli_query($link, $sql);
        return $rResult;
    }
    catch(Exception $e)
    {
        // no connection database
        $feedback = $e->getMessage();
    }
    mysqli_close($link);
}

1 个答案:

答案 0 :(得分:0)

我的第一个假设是你的SQL没问题,但是你的反馈代码在saveDay之后用空值调用,它会覆盖所有内容。

只需尝试日志所有sql更新,您就会看到问题的根源。