我在数据库更新活动方面遇到了一些问题。
案例研究:
我使用PHP编辑创建了一个表单,并执行查询以检索想要更新的记录的值。剧本摘录:
<?php
$row = mysql_fetch_assoc(mysql_query("SELECT id, field_1, field_2 FROM mytable WHERE id = $editid"));
?>
...
<form action="" method="post">
FIELD 1 <input type = "text" name = "f1v" value = "<? Php echo $ row ['field_1'];?>" />
FIELD 2 <input type = "text" name = "f2v" value = "<? Php echo $ row ['field_2'];?>" />
<input type="submit" />
</form>
....
// When the form posted
if ($_POST)
{
$f1v = $ _POST['f1v'];
$f2v = $ _POST['f2v'];
mysql_query("UPDATE mytable SET field_1 = '$f1v', field_2 = '$f2v' WHERE id = $editid") or die ();
// Redirect form
}
在这种情况下,我希望在提交表单时,有一些活动可以检查一个或多个字段值是否有变化。它的逻辑大致如下:
if ($ _POST)
{
// Compare
if the submitted value is different from the existing value in the record
{
Updated record
}
else
{
Do not update record
}
// Redirect form
}
你有什么简单的方法吗?谢谢你的帮助。
答案 0 :(得分:1)
不要打扰检查。只需确保输入有效并将其输入。
答案 1 :(得分:-1)
使用字段的当前值保留两个隐藏字段。提交表单后,检查提交的值是否与隐藏字段值不同。