Добрый день или вечер)
Подскажите как реализовать брать с array ключи (price,vendorcode) и обновлять их в базе данных в цикле foreach
Сам вывод array
Array
(
[0] => Array
(
[name] => Маска для волос с маслом Арганы Angel Glowring Hair Mask Tony Moly
[price] => 228.0
[vendorcode] => HR02003200
)
[1] => Array
(
[name] => Спрей для сияния волос Angel Glowring Hair Mist Tony Moly
[price] => 796.0
[vendorcode] => Т1380
)
[2] => Array
(
[name] => Крем-молочко для рук с экстр. банана Magic Food Banana Hand Milk Tony Moly
[price] => 483.0
[vendorcode] => BD03012800
)
[3] => Array
(
[name] => Пенка для умывания с алоэ для проблемной кожи Clean Dew Aloe Foam Cleanser Tony Moly
[price] => 354.0
[vendorcode] => SS02013200
)
[4] => Array
(
[name] => Пенка для умывания с экстрактом черники Clean Dew BlueBerry Foam Cleanser Tony Moly
[price] => 354.0
[vendorcode] => SS02013700
)
[5] => Array
(
[name] => Бальзам для очищения пор с тепл. эффектом PORE BLACK head Steam Balm Tony Moly
[price] => 744.0
[vendorcode] => Т1562
)
Код
$xml = simplexml_load_file('yandex.xml');
function xml2array ( $xmlObject, $out = array () )
{
foreach ( (array) $xmlObject as $index => $node )
$out[$index] = ( is_object ( $node ) ) ? xml2array ( $node ) : $node;
return $out;
}
$yml_offers = [];
foreach ($xml->xpath('/yml_catalog/shop') as $element) {
foreach ($element->xpath('offers/offer') as $category) {
$yml_offer = array();
$yml_offer['name'] = implode(xml2array($category->name));
$yml_offer['price'] = implode(xml2array($category->price));
$yml_offer['vendorcode'] = implode(xml2array($category->vendorCode));
$yml_offers[] = $yml_offer;
}
}
Как то так. На самом деле для более точного ответа не хватает структуры таблицы и подробного описания, что и каким образом вы хотите обновлять.
Для выполнения однотипных операций вставки или изменения используйте подготовленные запросы. Они:
.
$db = mew mysqli(.....);
$yml_offers = [];
$yml_offer = ['name'=>'','price'=>0,'vendorcode'=>''];
$stmt = $db->prepare('UPDATE table SET price=? vendorcode=? WHERE name=?');
$stmt->bind_params('iss', $yml_offer['price'], $yml_offer['vendorcode'], $yml_offer['name']);
foreach ($xml->xpath('/yml_catalog/shop') as $element) {
foreach ($element->xpath('offers/offer') as $category) {
$yml_offer['name'] = implode(xml2array($category->name));
$yml_offer['price'] = implode(xml2array($category->price));
$yml_offer['vendorcode'] = implode(xml2array($category->vendorCode));
$stmt->execute();
$yml_offers[] = $yml_offer;
}
}
$mysqli = new mysqli("example.com", "user", "password", "database");
$mysqli->query("UPDATE table SET price=".$yml_offer['price']." name='".$yml_offer['name']."' vendorcode ='".$yml_offer['vendorcode']."' WHERE id=".key($category))
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Доброго времени суток, есть БД news из которой на индексной странице выводится заголовок и анонс новостиС помощью ссылки, через id осуществляется...
Есть две таблицы b_stat_city_ip (поля таблицы START_IP, END_IP, COUNTRY_ID, CITY_ID), b_stat_city (поля ID, COUNTRY_ID, REGION, NAME)Необходимо получить ip адрес и узнать входит ли он в диапазон...
Когда нагрузка на сайт не большая загружается за 862 s когда нагрузка большая то загружается долго , как можно ускорить запрос?