Прайс в XML

Этот скрипт формирует XML файл с товарами магазина для системы сравнения товаров.

От вебмастера требуется указать в самом скрипте параметры работы скрипта и подправить SQL запросы и переменные.

Это php-скрипт можно использовать как заготовку для формирования выгрузки прайса в XML.

<?php

    // (c) http://peredovik.org/
    // адрес магазина
    $shopurl = "peredovik.org";

    //курс гривен за доллар, по хорошему здесь процедура вытягивания курса из настроек шопа
    $rate = "8";

    print "Export XML for Price.ua";

    $doc = new DomDocument('1.0');

    $cur = $doc->createElement('currency');
    $currate = $cur->setAttribute("code", "USD");
    $currate = $cur->setAttribute("rate", $rate);
    $doc->appendChild($cur);
    //<currency code="USD" rate="8.19"/> если в прайс-листе цена указана Доллар

    $catalog = $doc->createElement('catalog');

    $agregator = $_POST['agregator'];

    //здесь прописать свои параметры доступа к базе данных
    $dbh = mysql_connect("", "", "");

    if (!$dbh) {
        echo "Ошибка подключения к серверу MySQL";
        exit;
    }
    // Соединились, теперь выбираем базу данных:
    mysql_select_db("");

    //здесь запрос к базе данных для получения данных о категориях товаров
    $q = "SELECT * FROM goodscat";
    $req = mysql_query($q);

    for ($c = 0; $c < mysql_num_rows($req); $c++)    {
        $f = mysql_fetch_array($req);

        $razdel = $doc->createElement('category', $f[desc]);
        $razd = $razdel->setAttribute("id", $f[id]);
        $razd = $razdel->setAttribute("parentid", "1");

        $catalog->appendChild($razdel);
    }

    $doc->appendChild($catalog);

    $items = $doc->createElement('items');

    //здесь запрос к базу данных с получением данных о товарах
    $q = "SELECT * FROM goods";
    $req = mysql_query($q);

    for ($c = 0; $c < mysql_num_rows($req); $c++)    {
        $f = mysql_fetch_array($req);

        $item = $doc->CreateElement('item');
        $item->setAttribute("id", $f[id]);

        $name = $doc-> CreateElement('name');
        $name-> AppendChild ($doc-> CreateTextNode($f[desc]));

        $categoryId = $doc-> CreateElement('categoryid');
        $categoryId-> AppendChild ($doc-> CreateTextNode('2'));

        $priceusd = $doc-> CreateElement('priceusd');
        $priceusd-> AppendChild ($doc-> CreateTextNode($f[price]));

        $priceuah = $doc-> CreateElement('priceuah');
        $priceuah-> AppendChild ($doc-> CreateTextNode('805'));

        $url = $doc-> CreateElement('url');
        $url-> AppendChild ($doc-> CreateTextNode('2'));

        $item->appendChild($name);
        $item->appendChild($categoryId);

        $item->appendChild($priceusd);
        $item->appendChild($priceuah);
        $item->appendChild($url);

        $items->appendChild($item);

}

    $doc->appendChild($items);

    $doc->formatOutput = true;
    $doc->encoding = "windows-1251";

    $filename = 'XMLpriceua.xml';

    $doc->save($filename);

    print "<br><br><a href=\"http://$shopurl/$filename\">$shopurl/$filename</a>\n";

?>

<br><br>

<form name="" action="" method="post">
<input name="act" type="hidden" value="xml">
<input type="submit" value="Сформировать файл XML">
</form>

© Copyright by Влад Рыбцов


.