Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/56.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 通过查找特定行用新值更新表_Php_Mysql - Fatal编程技术网

Php 通过查找特定行用新值更新表

Php 通过查找特定行用新值更新表,php,mysql,Php,Mysql,我有一个表,可以根据订单号添加信息。 因此,当我输入信息时,我会添加一些列名称作为数字。 然后用新值更新行 每次插入值时,我的表都会接受3个值 order number| total left | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9| ------------------------------------------------------------------------ 11 | 100 | a

我有一个表,可以根据订单号添加信息。 因此,当我输入信息时,我会添加一些列名称作为数字。 然后用新值更新行

每次插入值时,我的表都会接受3个值

order number| total left |  1  |  2  |  3  |  4  | 5 |  6 |  7  | 8 |  9| 
------------------------------------------------------------------------
11          | 100        |  a  |  b  |  c  |  d  | e |  f |  0  |   |   |
------------------------------------------------------------------------
12          | 10         |  x |   y  |   z |  0  |   |    |  s  | d |  f|
-------------------------------------------------------------------------
当我尝试添加新列时,每一个其他值中新行的值都会变为null或0,这取决于它是int还是varchar

当我向订单号12插入3个值时,我希望更新该行中的最后0

(在本例中,4-5-6但我得到了7-8-9更新。)

那么,找到最后一行0的最佳方法是什么 (在这种情况下,第4列用于订单号12,并将s、d、f的新值插入4-5-6,而不是7-8-9

所以可能是这样的:

循环行,查找0,插入3行,断开

我看最后一列:

    $NewColumnNameKoliAdet=$LastColumnName+1;
    $NewColumnNameMusteri=$LastColumnName+2;
    $NewColumnNameTarih=$LastColumnName+3;
然后我添加列并更新表

    $Query="ALTER TABLE `koli_stok_hareketleri`
    ADD `$NewColumnNameKoliAdet` INT(11) NOT NULL AFTER `$LastColumnName`,
    ADD `$NewColumnNameMusteri` VARCHAR(100) NOT NULL AFTER `$NewColumnNameKoliAdet`,
    ADD `$NewColumnNameTarih` VARCHAR(100) NOT NULL AFTER `$NewColumnNameMusteri`;";

 $Query="UPDATE koli_stok_hareketleri SET kalan_koli=kalan_koli- 
 '$Uretilen_Koli', 
 `$NewColumnNameKoliAdet` = '$Uretilen_Koli',
 `$NewColumnNameMusteri` = '$Musteri_ismifromrow',
 `$NewColumnNameTarih` = '$Now' 
  WHERE koli_ismi ='$Koli_IsmifromRow' AND 
  koli_parti_no='$Parti_NofromRow'";

所以问题是,它会自动为每行添加三个值,但当我更新时,我需要从第4列而不是第7列更新订单号12。

您的sql是什么?请提供。您是否尝试更改表结构或插入值?请尝试组织您的问题。我不明白您尝试做什么,以及您尝试做了什么r…主要问题是什么?请更新。嗨,Helle,我更新了一些信息。谢谢!你能描述一下这个想法的目的是什么吗?我感觉你在错误的方向上运行。你为什么要更改数据库?数据库大部分时间应该保持静态…请尝试提供一个例子,说明你的输入是什么,你的ou是什么tput expaction是什么,以及到底发生了什么…现在还不清楚您试图做什么。这种问题是非常糟糕的模式设计的症状。停下来。看看规范化。是的!我想我应该改变我设计表的方式:)规范化会起作用。