我注意到在数量更新后出现了一些错误。似乎更新后,产品列表中的库存仍然很旧。如果我在产品->数量中写入一个新的值,它就会刷新为好的。
这是示例:在产品列表中,我们可以看到-3\f25 product quantity -3\f6,如果我打开-3\f25 product http://prntscr.com/54wjk7 -3\f6,可以看到:-3\f25 http://prntscr.com/54wk2m -1-1\f6在库存中
所以这是一个问题。
我的更新数量的函数:
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);
}我正在使用条形码更新。我的错在哪里?谢谢你的帮助。
发布于 2014-11-12 20:35:15
您没有说明您的PS版本,但我使用
StockAvailable::setQuantity($product->id, 0, 10000);下面是方法定义
public static function setQuantity($id_product, $id_product_attribute, $quantity, $id_shop = null)https://stackoverflow.com/questions/26842667
复制相似问题