Autor | Zpráva | ||
---|---|---|---|
stryzovsky Profil |
#1 · Zasláno: 20. 12. 2013, 21:12:01
Prosím o radu, mám v databázi zboží, které ovlivním z xml feedu. Potřebuji php funkci, která mi vrátí řádky, které se neaktualizovaly, protože v xml feedu chybí.
díky všem za radu |
||
Taps Profil |
#2 · Zasláno: 20. 12. 2013, 21:16:00
stryzovsky:
Spočítal bych všechny řádky v databázi a pak od nich odečetl řádky, které byly ovliněny (http://www.php.net/manual/en/function.mysql-affected-rows.php) a poté mi zbydou řádky, které nebyly aktualizovány |
||
stryzovsky Profil |
#3 · Zasláno: 20. 12. 2013, 22:05:00
díky, ale nešlo by jen poupravit tento kod?
foreach ($xml->PRODUCT as $v) { $sku = $v->CATNUM; $new_quantity = $v->QUANTITY; $result = mysql_query("Select entity_id from catalog_product_entity where sku='".$sku."' limit 1"); $i = mysql_fetch_array($result); $product_id = $i['entity_id']; mysql_query("UPDATE cataloginventory_stock_item item_stock, cataloginventory_stock_status status_stock SET item_stock.qty = '$new_quantity', item_stock.is_in_stock = IF('$new_quantity'>0, 1,0), status_stock.qty = '$new_quantity', status_stock.stock_status = IF('$new_quantity'>0, 1,0) WHERE item_stock.product_id = '$product_id' AND item_stock.product_id = status_stock.product_id"); } |
||
Kcko Profil |
#4 · Zasláno: 20. 12. 2013, 22:13:00
stryzovsky:
Před updatem si updatni všechny řádky a nastavim jim nějaký příznak na 0. Při updatu tento příznak změn na 1. Po skončení budeš vědět, které řádky se změnily a které ne, protože nejsou ve feedu (ty s 0). |
||
Časová prodleva: 10 let
|
0