我注意到数量更新后出错了。似乎更新产品列表中的库存保持OLD。如果我在产品中写一个新的值 - >数量让它恢复良好。
这是示例:我们可以看到产品列表中的http://prntscr.com/54wjk7 - 3 如果我打开产品数量,我可以看到:http://prntscr.com/54wk2m - 1库存
所以这是一个问题。
我更新数量的功能:
function update_database($code,$count){
$res = mysql_query('SELECT `id_product_attribute`,`id_product` FROM `'._DB_PREFIX_.'product_attribute` WHERE `ean13` = \''.$code.'\' LIMIT 1');
if(mysql_num_rows($res)){
echo " ++. ".$count."<br/>";
$row = mysql_fetch_object($res);
mysql_query('UPDATE `'._DB_PREFIX_.'product_attribute` SET `quantity` = \''.$count.'\' WHERE `ean13` = \''.$code.'\' ');
mysql_query('UPDATE `'._DB_PREFIX_.'product` SET `quantity` = \''.$count.'\' WHERE `id_product` = \''.$row->id_product.'\' ');
$id_product_attribute = $row->id_product_attribute;
mysql_query('UPDATE `'._DB_PREFIX_.'stock_available` SET `quantity` = \''.$count.'\' WHERE `id_product_attribute` = \''.$id_product_attribute.'\' ');
}else{
$res = mysql_query('SELECT `id_product` FROM `'._DB_PREFIX_.'product` WHERE `ean13` = \''.$code.'\' LIMIT 1');
if(mysql_num_rows($res)){
echo " +++. ".$count."<br/>";
$row = mysql_fetch_object($res);
$id_product = $row->id_product;
mysql_query('UPDATE `'._DB_PREFIX_.'product` SET `quantity` = \''.$count.'\' WHERE `ean13` = \''.$code.'\' ');
mysql_query('UPDATE `'._DB_PREFIX_.'stock_available` SET `quantity` = \''.$count.'\' WHERE `id_product` = \''.$id_product.'\' ');
}else{
echo " --.";
//echo 'Prekė barkodu:'.$code.' nerasta duomenų bazėje';
}
}
mysql_close($this->db);
}
我正在使用BAR代码进行更新。我的错在哪里?谢谢你的帮助。
答案 0 :(得分:0)
您没有说明您的PS版本,但我使用
StockAvailable::setQuantity($product->id, 0, 10000);
这是方法定义
public static function setQuantity($id_product, $id_product_attribute, $quantity, $id_shop = null)