在php中更新mysql表,并为每个受影响的行存储ID [重复]

问题描述 投票:-1回答:2

这个问题在这里已有答案:

我正在尝试在php脚本中使用MySQL select的结果,并在同一个表中进行一些更新。

对于以下查询,我需要查看每条记录并说“if order_status ='S',将is_placement设置为1(这是一点)并将date_updated设置为curdate()”

我可以通过更新来做到这一点,但诀窍是我需要将状态为'S'的order_id存储在一个数组中以用于另一个查询。

我不确定如何循环并将其存储在数组中。

这是选择:

$orderCheck = "
    SELECT 
        order_id,
        order_status
    FROM order_status
 ";

编辑(基于下面的答案):所以我可以像这样制作一系列订单ID:

$result = mysqli_query($connection,$orderCheck);
while ($row = mysqli_fetch_array($result))
    {
        $array = $row['order_id'}
        if($row['order_status'] == 'S'){
        Store ORder IDs here}
    }

但是使用该数组和存储的订单ID,我需要更新每个ID的记录。

如何执行更新并存储必要的ID?

php mysql
2个回答
0
投票

以下将以您需要的方式存储数据:

$result = mysql_query($orderCheck);
$order_ids = array();

while ($row = mysql_fetch_array($result))
    {
    $order_id = $row['order_id'];
    if ($row['order_status'] == "S")
        {
        array_push($order_ids, $order_id);
        }
    }

0
投票
$orderCheck = "SELECT 
        order_id,order_status FROM jfi_sales.order_status ";
   $result = mysql_query($orderCheck );
   $ids= array();

  while ($row = mysql_fetch_array($result, MYSQL_NUM)) {
     if($row['order_status'] == 'S'){
        $ids[]= $row['order_id'];
     }
  }
print_r($ids);

现在$ids是你的订单ID数组,订单状态为'S'。试试这个它会起作用。

© www.soinside.com 2019 - 2024. All rights reserved.