我有一个我写的公寓租赁系统,我有来自数据库的租金和滞纳金。管理员可以通过后端续订租金。我想要的是续订表格从数据库中提取租金和延迟费用,所以我在文本框输入字段中设置了表单字段。有时候我们想要免除系统自动投入的滞纳金,或者给他们打折,这样费用金额和总需要能够改变。以下是我在表单中设置输入字段的方法:
<input type="text" name="lateFees" id="lateFees" value="<?=CURRENCY.$lateFees?>" />
<input type="text" name="rent" id="rent" value="<?=CURRENCY.$rentAmount?>" />
这部分完美无缺。我正在获取预填充MySQL值的文本字段。问题是如果替换这些值,则新的金额不会传输到数据库。无论您在文本字段中写什么,它都会保留原始租金金额/滞纳金。这是我的表单操作,因此您可以看到表单实际正在做什么。
<form name="microForm" id="microForm" method="post" action="<?=$_SERVER['PHP_SELF']?>" enctype="multipart/form-data">
以下是提交表单后正在执行的PHP:
$query->execute("INSERT INTO transaction SET admin_id='".$_SESSION['LogedInAdminId']."',user_id='".$booking->getUserId()."',booking_id='".$booking->getBookingId()."',rent_amount='".$rentAmount."',late_fees='".$lateFees."',payment_type='".$_REQUEST['paymenttype']."',notes='".addslashes($_REQUEST['notes'])."'");
$txnId = $query->getLastInsertId();
$sql = $query->execute("SELECT U.* FROM units U INNER JOIN booking_details B ON U.unit_id = B.unit_id WHERE B.booking_id='".$booking->getBookingId()."'");
while($row=mysqli_fetch_assoc($sql))
{
$query->execute("INSERT INTO transaction_details SET txn_id='".$txnId."',user_id='".$booking->getUserId()."',unit_id='".$row['unit_id']."',for_months='".$_REQUEST['months']."',rent_amount='".$rentAmount."',late_fees='".$lateFees."'");
}
$query->execute("UPDATE booking SET renew_date = DATE_ADD(renew_date, INTERVAL ".$_REQUEST['months']." MONTH) WHERE booking_id='".$booking->getBookingId()."'");
$booking = $blBooking->getById($_REQUEST['bookingid']);
$errMsg = '<span class="successtxt">Booking has been renewed';
答案 0 :(得分:0)
您尚未发布任何PHP代码,因此我们无法查看您的问题的具体细节。但是,为了覆盖数据库中的现有值,您正在寻找UPDATE命令:
$conn->query("UPDATE tablename SET lateFees = '$lateFees' WHERE identifier = 'something'");