这个问题在这里已有答案:
我正在尝试在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?
以下将以您需要的方式存储数据:
$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);
}
}
$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'。试试这个它会起作用。