如果库存为 0,则"OR"不存在设置为 0,PHP



我一直把练习和学习PHP作为一种爱好,今天我遇到了一些我认为很容易做的事情。

首先,我从一个XML文件中获取所有信息,然后更新所有库存信息,但如果产品存在于文件中,这里的问题是,如果产品不在文件中,则产品无法更新,库存将被保留。

这个问题的一个例子是,当我从XML导入产品时,由于制造商停止生产,这种情况不再存在,即使产品不再销售,我也会保留数据库中的库存。

因此,如果产品在XML文件中不再可用,我需要将我的库存设置为0,我已经写了这篇文章,但如果文件中不再存在产品,我如何添加逻辑运算符或类似的东西来将我的存货设置为0?

    $item1 = array('Category' => (ucwords (mb_strtolower ($rec1[1], "iso-8859-1"))), 'SKU2' => $rec2[1], 'SKU' => $rec3[1], 'Name' => (ucwords (mb_strtolower ($rec4[1],'iso-8859-1'))), 'Price' => $price, 'Wholesale' => $wholesalepr, 'Stock' => $stockgdl, 'Image' => $rec5[1], 'Brand' => (ucwords (mb_strtolower ($rec9[1], "iso-8859-1"))), 'Subcategory' => (ucwords (mb_strtolower ($rec12[1], "iso-8859-1"))));
if($item1['Stock']>0)
{
    $out_of_stock="2";
    $quantity = $item1['Stock'];
}
else
{
    $out_of_stock="0";
    $quantity = "0";
}

最简单的方法是创建一个更新项目的数组

$updatedItems[] = sprintf("'%d'", $item['id']);
// Or whatever identifier you are using, I formatted ids to be used in DB IN query, use %s if id is a string

一旦你拥有了所有这些,你就可以创建一个字符串,可以在数据库查询中使用

$itemsAsString = implode(',', $updatedItems);

然后将其添加到类似的数据库查询中

DELETE FROM table WHERE id IN ($itemsAsString) // Again change what needs to be changed

相关内容

最新更新