Php 在prestashop中手动更新产品数量(外部脚本)

Php 在prestashop中手动更新产品数量(外部脚本),php,codeigniter,prestashop,prestashop-1.6,Php,Codeigniter,Prestashop,Prestashop 1.6,我正在用codeigniter编写一个外部应用程序,它将读取产品的条形码并更新Prestashop数据库中的数量。现在我不确定应该更新哪些表。在DB中有_DB_PREFIX_product、_DB_PREFIX_product_attribute、_DB_PREFIX_stock_可用表,其中,产品id和数量列可用 条形码列(ean13)在前两个表中可用。 请让我知道我应该更新哪些表格以正确更改产品数量 (prestashop版本为1.6)从\u DB\u PREFIX\u product中选择

我正在用codeigniter编写一个外部应用程序,它将读取产品的条形码并更新Prestashop数据库中的数量。现在我不确定应该更新哪些表。在DB中有_DB_PREFIX_product、_DB_PREFIX_product_attribute、_DB_PREFIX_stock_可用表,其中,产品id和数量列可用

条形码列(ean13)在前两个表中可用。 请让我知道我应该更新哪些表格以正确更改产品数量


(prestashop版本为1.6)

\u DB\u PREFIX\u product
中选择
id\u product
,然后更新
\u DB\u PREFIX\u库存中的数量

您可以使用prestashop类,我从未使用过条形码,所以不知道ean13是什么,但代码必须是

<?php 
include('config/config.inc.php');
include('init.php'); 
$ean13 = "ean13";
$sql = "SELECT id_product FROM _DB_PREFIX_product WHERE ean13='$ean13'";
//replace _DB_PREFIX_ with your prefix or define _DB_PREFIX_ on top.
$product_id = Db::getInstance()->getValue($sql);
if (!empty($product_id)) {
$quantity = 100;
StockAvailable::setQuantity((int)$product_id, 0, $quantity);
}
?>

如何更新所有产品数量类型包

<?php 
include('config/config.inc.php');
include('init.php'); 
$sql = "SELECT id_product_pack FROM _DB_PREFIX_pack";
$product_id = Db::getInstance()->getValue($sql);
if (!empty($product_id)) {
$quantity = 100;
StockAvailable::setQuantity((int)$product_id, 0, $quantity);
}
?>


我非常确定有一个Web服务可供使用。。。在大型商店系统中,通过数据库直接更新库存等数据不是一个好主意。谢谢你的评论,是的,可能会有。但在更新之前,需要进行一些定制,我不是prestashop的专家,无法修改其代码。所以我必须使用外部应用程序。您好,非常感谢您的建议。我也这么想,但问题是在
stock\u available
表中有多行可用于每个产品id。唯一的是product\u attribute id列。因此,我不确定是否应该在
产品
表或
产品属性
表中搜索条形码。在
前缀库存可用
中,一个产品的多行表示每个组合(尺寸和颜色)都有单独的库存,如果要更新总体产品的数量,则必须更新
id\u product\u attribute=0的行。