[英]Change values around in mysql database using php
我有下面的代码:
$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”。 到现在为止还挺好。 但是我想找到包含该“工作指令”的记录,并用旧的“ id”中的“工作指令”对其进行更新。 (简单来说:当我增加/减少“工作单”时,我想切换两个记录。)对我来说,它看起来很简单,但不起作用。 第一件事(用新的工作单更新id可以。但是其他记录保持不变。可以保持已经存在的工作单)我想念什么? (必须简单一些,我只是忽略了。)
@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中进行一些步骤。 猜猜是时候把它扔进一个函数了.. :-)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.