Вопросы по парсеру

NC
На сайте с 23.05.2010
Offline
31
3764

Вопрос первый. Пытаюсь реализовать вот этот вариант: http://ozontools.ru/xmlparser/#example7

При попытке выполнения вот этого SQL-запроса:


-- Таблица для хранения информации о товарах
create table ozon_offer (
offer_id int not null primary key,
offer_price number not null,
offer_picture varchar(255),
offer_title varchar(255),
offer_vendor varchar(255),
offer_description text
);

-- Таблица для хранения информации о категории
create table ozon_category (
category_id int not null primary key,
category_parent_id int,
category_name varchar(255)
);

-- Таблица для хранения информации о принадлежности товара к категориям
create table ozon_offer_category (
offer_id int not null,
category_id int not null
);

система ругается. Что не удевительно, т.к. типа number в MySQL нет. Наверное, Вы притащили этот тип из какой-то другой СУБД, Oracle, например. Выше я выделил, где ошибка. На какой тип, поддерживаемый MySQL предлагаете заменить, на float?

Актуален обмен ссылками: универсальное (/ru/forum/503305), фото (/ru/forum/503307)
СД
На сайте с 21.03.2009
Offline
28
#1

да, вы абсолютно правы!

лучше всего number заменить на float

сейчас поправлю документацию.

спасиюо!

NC
На сайте с 23.05.2010
Offline
31
#2

Очень надеюсь, что с Вашей помощью получится заставить работать скрипт dbimport.php.

Вопрос второй. Какой смысл вот в этой строчке кода (dbimport.php, в самом низу), и аналогичных, если функция $catalog->transform ничего не возвращает? На экран печатает, но в функцию import передается пустота.

import(CATEGORY_TABLE_NAME,
$catalog->transform(dirname(__FILE__).'/../src/xsl/db.xsl', array('MODE'=>'category')));

Я выкрутился следующим образом:

ob_start();
$catalog->transform(dirname(__FILE__).'/../src/xsl/db.xsl', array('MODE'=>'offer'));
$obidata=ob_get_contents();
ob_end_clean();

import(OFFER_TABLE_NAME, $obidata);

Однако, sql, который сформировала функция import, не смог выполниться. Правда, я еще не ковырял, почему. Однако, даже невооруженным взглядом видно, что там нет запроса на добавление данных, есть только на изменение.

Стас, попробуйте выполнить импорт каталога товаров в БД MySQL, давайте доведем этот скрипт до ума. Он мне очень нужен :)

СД
На сайте с 21.03.2009
Offline
28
#3

Спасибо за информацию!

В следующей версии исправлю ошибку.

NC
На сайте с 23.05.2010
Offline
31
#4

Стас, а примерные сроки можете сформулировать? Когда это будет сделано?

СД
На сайте с 21.03.2009
Offline
28
#5

Лучше поздно, чем никогда :)

Ошибка исправлена, версия 1.11 на сайте.

П
На сайте с 07.09.2010
Offline
21
#6
Стас Давыдов:
Лучше поздно, чем никогда :)
Ошибка исправлена, версия 1.11 на сайте.

Ёмаё, всю голову сломал. заменял тип на text а теперь тут за 2 дня и поисковики проиндексили и парсер обновили...

Насамом деле XML вапще невариант, надо делать сразу конверт в БД, и то так чтобы потом БД не умерла от конверта) 🚬

V
На сайте с 08.09.2010
Offline
0
#7

Шаг 2. Настроить имена таблиц

Далее необходимо настроить имена таблиц, используемых в вашей базе данных, для хранения информации о товарах, категориях и связях между товарами и категориями:

* OFFER_TABLE_NAME — имя таблицы для хранения товаров.

* CATEGORY_TABLE_NAME — имя таблицы для хранения категорий.

* OFFER_CATEGORY_TABLE_NAME — имя таблицы для хранения связей между товарами и категориями.

Значения этих параметров нужно так же отредактировать в файле bin/dbimport.php:

define('OFFER_TABLE_NAME', 'ozon_offer'); // таблица для хранения товаров

define('CATEGORY_TABLE_NAME', 'ozon_category'); // таблица для хранения категорий

define('OFFER_CATEGORY_TABLE_NAME', 'ozon_offer_category'); // таблица для хранения связей

Какие имена должны быть?

Заранее благодарен.

NC
На сайте с 23.05.2010
Offline
31
#8
Какие имена должны быть?

Можно просто оставить как есть:


define('OFFER_TABLE_NAME', 'ozon_offer'); // таблица для хранения товаров
define('CATEGORY_TABLE_NAME', 'ozon_category'); // таблица для хранения категорий
define('OFFER_CATEGORY_TABLE_NAME', 'ozon_offer_category'); // таблица для хранения связей

Изменять их имеет смысл либо если Вы тонкий извращенец, либо если у Вас есть четкий план и Вы, следуя ему, точно знаете, что делаете :)

Ne&Co добавил 21.10.2010 в 16:17

Лучше поздно, чем никогда
Ошибка исправлена, версия 1.11 на сайте.

Рад, но воспользоваться/протестировать, к сожалению, уже не смогу - успел и собственное решение написать, и понять, что держать все товары озона в свой БД при текущей ее архитектуре позволить себе не могу. Спасибо, что багрепорты не были проигнорированы.

K
На сайте с 23.10.2004
Offline
159
#9
Стас Давыдов:
Лучше поздно, чем никогда :)
Ошибка исправлена, версия 1.11 на сайте.

А на http://ozontools.ru/xmlparser/ по-прежнему 1.10 :(

(это скорее упрек пользователю OZON.ru)

OR
На сайте с 12.03.2008
Offline
123
#10

kravru, на http://ozontools.ru/xmlparser/ выложена версия 1.12

Служба поддержки партнерской программы OZON.ru (http://www.ozon.ru/context/partner/) Регистрация партнера (http://www.ozon.ru/?context=partner_join), Обратная связь (http://www.ozon.ru/context/partner_feedback/)

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий