Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/6.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 如何通过IdItem进行更新_Php_Mysql - Fatal编程技术网

Php 如何通过IdItem进行更新

Php 如何通过IdItem进行更新,php,mysql,Php,Mysql,为了掌握php中的2,mysql。我是php新手,大约2个月 我需要帮助。关于更新表 我有一个显示当前表的页面。当我点击更新按钮更新时,我想要第1行,当前表中的数量将从结果表中减少IdItem。因此,在当前表格quantity=quantity quantityPass中,等式如下所示。因此,只有字段项更改数量结果。现在,当我单击“更新”时,它将影响表中所有的当前结果。有解决办法吗 “结果”表 +--------+-------------+--------------+-----------+

为了掌握php中的2,mysql。我是php新手,大约2个月

我需要帮助。关于更新表

我有一个显示当前表的页面。当我点击更新按钮更新时,我想要第1行,当前表中的数量将从结果表中减少IdItem。因此,在当前表格quantity=quantity quantityPass中,等式如下所示。因此,只有字段项更改数量结果。现在,当我单击“更新”时,它将影响表中所有的当前结果。有解决办法吗

“结果”表

+--------+-------------+--------------+-----------+--------+--------------+
| IdItem |  username   |   rentItem   | quantity  | result | quantityPass |
+--------+-------------+--------------+-----------+--------+--------------+
| 84     | FahmiNazirul|   Speaker    |     1     | PASS   |      1       |
+--------+-------------+--------------+-----------+--------+--------------+
| 86     |     Andy    |   Keyboard   |     3     | PASS   |      2       |
+--------+-------------+--------------+-----------+--------+--------------+
| 89     | FahmiNazirul|   Speaker    |     5     | PASS   |      3       |
+--------+-------------+--------------+-----------+--------+--------------+
当前数量“更新”的表

+--------+-------------+--------------+ 
|  Id    |    Item     |    quantity  |
+--------+-------------+--------------+ 
|   1    |   Speaker   |     10       |
+--------+-------------+--------------+ 
|   2    |  Keyboard   |     10       | 
+--------+-------------+--------------+ 
tableupdate.php

$result = mysql_query("SELECT * FROM update where Item = Item");

                echo "<table border='1'>
                <tr>
                <th>Item</th>
                <th>Quantiti</th>
                <th></th>       
                </tr>";

                while($row = mysql_fetch_array($result))
                  {
                  $item= $row['Item'];

                  echo " <tr> ";
                  echo " <td> " . $row['Item'] . " </td> ";
                  echo " <td> " . $row['quantity'] . " </td> ";

                  echo " </tr> ";
                  }
                echo "</table>";

echo " <a href ='quantityupdate.php?Item=$item'  onclick='return Confirm_Box()' >Update</a>";
$item =$_REQUEST['Item'];


// sending query


mysql_query("UPDATE update ,result SET update.quantity=update.quantity-result.quantityPass where update.Item = result.rentItem")
or die(mysql_error());      

header("Location: update.php");

UPDATE
JOIN
一起使用,如下所示:

UPDATE kemaskini AS u
INNER JOIN result AS r ON u.Item = r.rentItem
SET u.quantity = u.quantity - r.quantityPass;

对于第一个表
结果
项的重复条目
,可以执行以下操作:

UPDATE kemaskini AS u
INNER JOIN
(
   SELECT rentItem, SUM(quantityPass) AS TotalquantityPass
   FROM result
   GROUP BY rentItem
)  AS r ON u.Item = r.rentItem
SET u.quantity = u.quantity - r.TotalquantityPass;

itemID是否为
自动增量
?对它自动递增如果在reference中使用单词update,则必须回勾(`)。update
update
@马绍尔豪斯,好的。我试试看。实际上,在我的语言中,它不是使用单词update,而是使用“kemaskini”。顺便提一下thanks@FahmiNazirul所以很难更新它,因为你可能会用复制来更新它。好的。我试试看。在我的语言中,我没有使用“update”,但我使用了“kemaskini”。所以我翻译成英语。
mysql_query("UPDATE update ,result SET update.quantity=update.quantity-result.quantityPass where  result.rentItem='$item' AND update.Item='$item'")