繁体   English   中英

使用PHP在MySQL数据库中更改值

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM