Hola,
Yo en mi web actualizo el stock con un modulo propio. Me he dado cuenta que un producto que tiene combinaciones y tiene stock a cero en la pagina general de productos pone una cantidad de stock que no corresponde a la del producto. Adjunto fotos para que lo veais haber si alguien me puede decir que está pasando.
La correcta es cero no 36 que no se de donde sale. En la tienda si sale correctamente y aparece cero unidades pero me provoca lio ver el 36 ahi. Os pongo aqui el codigo que conecta la base de datos igual falta algo:
function get_id_product_attribute($ref){
$sql = "SELECT id_product_attribute FROM ps_product_attribute WHERE reference LIKE '".$ref."'";
$result = $this->conn->query($sql);
$row = $result->fetch_assoc();
return $row["id_product_attribute"];
}
function update_stock_single_product($id,$cant){
$sql = "UPDATE ps_stock_available SET quantity=".$cant." WHERE id_product_attribute LIKE '".$id."'";
return($this->conn->query($sql));
}
function get_id_product_from_id_product_attribute($id_pa){
$sql = "SELECT id_product FROM ps_stock_available WHERE id_product_attribute LIKE '".$id_pa."'";
$result = $this->conn->query($sql);
$row = $result->fetch_assoc();
return $row["id_product"];
}
function update_group_combination_stock($id_prod){
$total = 0;
$sql = "SELECT quantity FROM ps_stock_available WHERE id_product=".$id_prod." AND id_product_attribute<>0";
$result = $this->conn->query($sql);
if($result==false){
echo "ESTE ID DA ERROR ---> ".$id_prod."<br>";
}
while($row = $result->fetch_assoc()){
$total += $row["quantity"];
}
//echo "<br/>total de producto ".$id_prod." => ".$total;
$sql = "UPDATE ps_stock_available SET quantity=".$total." WHERE id_product=".$id_prod." AND id_product_attribute=0";
return($this->conn->query($sql));
}
}
Gracias, un saludo