データベースの更新アクティビティに少し問題があります。
ケーススタディ:
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
}
この場合、フォームが送信されたときに、1 つ以上のフィールド値に変更があるかどうかを確認するアクティビティが必要です。そのロジックはおおよそ次のようになります。
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
}
簡単にできる方法はありませんか?ご協力ありがとうございました。