php - 选择数据时自动更新数据

标签 php mysql

我有这段代码来获取数据:

$resultsTicket = $mysqli->query("SELECT * FROM orders_history 
     WHERE customer_name = '$member_name' 
     AND order_method = 'EStock'
     ORDER BY id ASC");

结果如下:

订单历史记录

----------------------------
  unique_random    quantity       
----------------------------
  12C3EDsE34e        5      
  sad234sadsa        7      

从上面的结果来看,在查看页面中,用户将选择他们想要选择的数量。例如,在第一行中:他们从 5 个数量中选择 3 个。提交时,数据将发布到另一个表:

claim_history

----------------------------
  unique_random    claim       
----------------------------
  12C3EDsE34e        3      
  sad234sadsa        2

我现在的问题是如何自动更新第一个表(orders_history)中的数量。

订单历史记录

----------------------------
  unique_random    quantity       
----------------------------
  12C3EDsE34e        2      
  sad234sadsa        5      

我已经试过了,但是好像不行:

                            <?php
                            $customer_email=$member_email;          

                            $resultsTicket = $mysqli->query("SELECT * FROM orders_history 
                                                             WHERE customer_name = '$member_name' 
                                                             AND order_method = 'EStock'
                                                             ORDER BY id ASC");

                                             $mysqli->query ("UPDATE orders_history
                                                             LEFT JOIN estockClaims on estockClaims.transaction_id = orders_history.transaction_id
                                                             SET orders_history.quantity = orders_history.quantity - estockClaims.quantity;
                                                             ");
                                if ($resultsTicket > 0) {
                                    $i = 0; 
                                    $random = substr(str_shuffle(abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ),0, 1) . substr(str_shuffle(aBcEeFgHiJkLmNoPqRstUvWxYz0123456789),0, 6);
                                    while($obj = $resultsTicket->fetch_object()) {

最佳答案

您可以在 mysql 中使用更新触发器:http://dev.mysql.com/doc/refman/5.6/en/trigger-syntax.html

  • 通过转义变量来避免 sql 注入(inject)。

关于php - 选择数据时自动更新数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26969455/

相关文章:

php - Laravel 在 json 响应中返回整数

php - 在 DateTime 字段中更新为 NULL

java - 我应该如何从包含数据数组的 ListView 切换到新 Activity ?

mysql - 如果 Count<2 则不显示

MySQL:在行列表中使用给定值找到合适的行

sql - 获取MySQL中空格前的所有字符

php - 如何根据工作日通过 php 更改 css 图像

php - 确保 API 连接是通过 https

php - 使用 Require_once() 正确包含数据库连接变量

mysql - 在 C 中使用 select 子查询子句执行更新语句