【发布时间】:2011-05-21 13:46:38
【问题描述】:
我有一个包含以下字段的 tblUsers 数据库 1. DiaryLighton |日记利希托夫 |日记睡眠 |日记醒 |意见反馈用户 |反馈医生
当我在日记页面上时,我需要填写 DiaryLighton |日记熄灯 |日记睡眠 |点击保存按钮后 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);
}
【问题讨论】:
-
它在数据库中是否正确?换句话说,如果您在第一次保存之后第二次之前检查结果,是否正确?听起来您没有提交更改。
-
@MJB 是的,如果我保存日记.. 日记中的所有内容都完美地进入数据库。如果我保存反馈,一切都完美地出现在数据库中。但是保存的另一部分消失了..真的很奇怪。
-
你肯定只涉及一张桌子,对吧?无需担心架构差异吗?例如,一个脚本由用户运行,另一个由管理员运行?
-
只有一个。一位用户在一张表中进行输入。
-
表中的行数呢?在每次插入之前和之后,它是您所期望的吗?是否有很多行,所以很容易错过更改?还是只有几行,可能有 10 行,所以您没有机会查看错误的行?