我有以下代码:
$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'时,我想要切换两个记录) 对我来说,它看起来非常简单,但它不起作用。第一件事(用新的工作订单更新id工作..但另一条记录保持不变..它保留已经存在的工作顺序) 我错过了什么? (一定是简单的,我只是忽略了。)
答案 0 :(得分:0)
@andrewsi感谢您的建议!我把代码拿出来,把它复制到另一个页面并做了一些回声,看看发生了什么,这样我就很容易理解问题是什么。
实施例: $ bla = mysql_query($ query); $ workorder_old = mysql_fetch_row($ bla);
我想要的$ workorder_old应该是一个数字。然而,这没有发生,但返回..一个数组。 当我将代码更改为...
$bla = mysql_query($query);
$bla = mysql_fetch_row($bla);
$workorder_old = $bla[0];
......它就像一个魅力。
微小的注意:我已经习惯于在一步(另一种语言)中抓取数据,我忘记了我需要在PHP中做一些步骤。猜猜是时候把它扔进一个函数中了......: - )