【问题标题】:If stock is 0 "OR" not present set to 0 with PHP如果库存为 0,则“或”不存在,使用 PHP 设置为 0
【发布时间】:2016-01-04 10:51:30
【问题描述】:

我一直在练习和研究 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";
}

【问题讨论】:

    标签: php xml logical-operators


    【解决方案1】:

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

    $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
    

    【讨论】:

      猜你喜欢
      • 2013-09-10
      • 1970-01-01
      • 1970-01-01
      • 2012-04-03
      • 1970-01-01
      • 2021-02-26
      • 2020-11-07
      • 2022-01-06
      • 2012-07-07
      相关资源
      最近更新 更多