Файл обновляется каждые 3 часа. А значит и БД тоже должна так обновляться. XML большой 250 мегабайт.
Нашел в инете такойкод
PHP:
скопировать код в буфер обмена
скопировать код в буфер обмена
- $filename1 = 'file/price3.xml';
- ConnectDB();
- $elements = null; // просто имя текущей ноды
- $offer = null; // собирает один элемент offer
- $mysqli->query("DELETE FROM offer_");
- $mysqli->query("ALTER TABLE offer_ AUTO_INCREMENT=0");
- // Вызывается, когда встречается открывающий тег.
- // если это offer - создаем массив под него
- function startElements($parser, $name, $attrs)
- {
- global $offer, $elements;
- if ($name == 'OFFER') {//category
- }
- $elements = $name;
- }
- // Вызывается, когда тег закрывается
- // если это тег offer - печатаем содержимое и вычищаем
- function endElements($parser, $name)
- {
- global $offer, $elements;
- global $mysqli;
- if ($name == 'OFFER') {
- $oUid= "$offer[UID]";
- $oUrl= "$offer[URL]";
- $mysqli->query("INSERT INTO offer_ (Uid_, Url_) VALUES ($oUid, '$oUrl')");
- $offer = null;
- }
- $elements = null;
- }
- }
- // Вызывается для текста, заполняем массив
- function characterData($parser, $data)
- {
- global $offer, $elements;
- if ($elements == 'UID' || $elements == 'URL' ) {
- }
- }
- }
- // Собственно, подготавливаем парсер
- // открываем файл
- }
- {
- }
- closeDB();