私は以下のコードを持っています:
$do_id=$_GET['id'];
$new_workorder=$_GET['workorder'];
//get current workorder on file for record that will be updated
$query = "SELECT workorder FROM jvltodos WHERE id = '$do_id' LIMIT 1";
$bla = mysql_query($query);
$workorder_old = mysql_fetch_row($bla);
//get record for workorder on file that will have the new workorder
$query = "SELECT id FROM jvltodos WHERE workorder = '$new_workorder' LIMIT 1";
$bla = mysql_query($query);
$id_fix = mysql_fetch_row($bla);
if (isset($new_workorder) && $new_workorder!=$workorder_old) {
//update the changed record
$query = "UPDATE jvltodos
SET workorder={$new_workorder}
WHERE id = {$do_id}";
$result = mysql_query($query);
//update the record that had the old workorder
$query = "UPDATE jvltodos
SET workorder={$workorder_old}
WHERE id = {$id_fix}";
$result = mysql_query($query);
}
'id'と'workorder'をURLに渡すので、最初にそれらを取得します。これで、その「id」を含むレコードを新しい「workorder」に更新します。ここまでは順調ですね。しかし、その「workorder」を持つレコードを見つけて、古い「id」から「workorder」で更新したいと思います。(簡単に言うと、「workorder」を増減するときに、2つのレコードを切り替えたいと思います)私には、かなり単純に見えますが、機能しません。最初に(新しい作業指示書でIDを更新しますが、他のレコードは同じままです。すでにそこにあった作業指示書を保持します)何が欠けていますか?(私が見落としているような単純なものでなければなりません。)