TCH (statz) | #1, Főfasz (10443) |
3251 | #4e45 | ^ | Idézet | Sat, 09 Nov 2019 22:01:51 +01 |
94.21.*.* | *.pool.digikabel.hu |
Hát ezt a bekérést felesleges külön PHP-ba tenni. Úgyis csak a termék száma szerepel benne, ha jól látom, úgyhogy elég egy sima összefűzés. A stringkeresést kb. így lehetne megcsinálni: function extract_pieces($text) { $pos = stripos($text, '<span class="amount-projektor">'); // kontener keresese if ($pos !== false) { $pos += 31; // poziciovaltozot a kontener vegere $posb = stripos($text, 'Brak', $pos); // hianycikk-e if ($posb !== false) { return 0; // hianycikk } $poss = stripos($text, 'szt.', $pos); // "db" keresese if ($poss !== false) { return (int)preg_replace ( "/[^0-9]/", // a nem numerikus karaktereket "", // kitakaritjuk substr($text, $pos, $poss - $pos) // a kontener es a "db" kozotti szovegbol ); } } return false; }És ennek beadagolva a kódot, ki fogja kaparni a fent emlegetett HTML kód és a szt.közti számokat, vagy nullát ad vissza, ha van Brak, vagy hamisat ad vissza, ha nincs konténer, vagy darabszám-marker. (BTW, ha olyan szövegben keresel, aminél nem számít a kisbetű/nagybetű, akkor ne strpos()-t, hanem stripos()-t használj...) És akkor a kódod így módosul: <?php // ide a fenti fuggveny ini_set('display_errors',1); ini_set('display_startup_errors',1); error_reporting(E_ALL); $conn = mysqli_connect("localhost","szopjkecsket","fasz","buziwinfos"); if($conn){ $termekek = array(3074,3076,3077,3087,3116,3123,3127,3155,3160,3163,3170,3171,3172,3180,3179,3183,3185,3187,3189,3194,3195,3205,3218,3223,3233,3240,3239,3349,3248,3272,3273,3275,3294,3296,3293,3303,3313,3314,3312,3315,3326,3328,3327,3333,3335,3334,3342,3341,3348,3349,3347) $termekmenny = count($termekek); for ($i = 0; $i < $termekmenny; ++$i) { $termek = $termekek[$i]; $storage = extract_pieces(get_file_contents("urlabeszallitohoz" . $termek)); // ez nem 'file_get_contents()' veletlenul? if ($storage === false) { echo "nem letezik"; $result = mysqli_query($conn, "UPDATE `wp7k_wc_product_meta_lookup` SET `min_price` = '0' WHERE `wp7k_wc_product_meta_lookup`.`product_id` = $termek;"); } else if ($storage == 0) { $result = mysqli_query($conn, "UPDATE `wp7k_wc_product_meta_lookup` SET `stock_status` = 'outofstock' WHERE `wp7k_wc_product_meta_lookup`.`product_id` = $termek;"); // egy 'SET `stock_quantity`=0' nem kene ebbe a lekeresbe? } else { $result = mysqli_query($conn, "UPDATE `wp7k_wc_product_meta_lookup` SET `stock_quantity` = '$storage' WHERE `wp7k_wc_product_meta_lookup`.`product_id` = $termek;"); } echo ($result ? "siker" : mysqli_error($conn)); // egyebkent ez a 'siker'/error csak akkor jelent volna meg, ha van darabszam, mert a masik ket agban nem kezdtel semmit a $result-tal sleep(5); } }No, hát ha nem kúrtam el semmitetse, akkor ez így jó lesz. |