PHP MySQL - 当一个或多个字段值发生更改时,更新数据库的简便方法

时间:2012-06-05 03:30:12

标签: php mysql

我在数据库更新活动方面遇到了一些问题。

案例研究

我使用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
}

你有什么简单的方法吗?谢谢你的帮助。

2 个答案:

答案 0 :(得分:1)

不要打扰检查。只需确保输入有效并将其输入。

答案 1 :(得分:-1)

使用字段的当前值保留两个隐藏字段。提交表单后,检查提交的值是否与隐藏字段值不同。