Example #1
0
function start_get_tovar()
{
    global $host;
    global $user;
    global $password;
    global $database;
    ob_start();
    echo "Start script: " . date("H:i:s") . "<br>";
    ob_flush();
    flush();
    // подключаемся к SQL серверу
    $link = mysqli_connect($host, $user, $password, $database) or die("Ошибка " . mysqli_error($link));
    //$id_catalog = 6;
    $query = 'select tovar_id,catalog,parent_id,link from bitrixshop.compare';
    // LIMIT 200';
    $result = mysqli_query($link, $query);
    $i = 0;
    while ($row = mysqli_fetch_array($result, MYSQLI_ASSOC)) {
        get_tovar($row['link'], $row['tovar_id'], $row['catalog'], $row['parent_id']);
        $i = $i + 1;
        echo "Load: " . $i . " Tovar_id: " . $row['tovar_id'] . " Catalog: " . $row['catalog'] . "<br>";
        ob_flush();
        flush();
    }
    //Закрываем соединение с БД
    mysqli_close($link);
    echo "Stop script: " . date("H:i:s") . "<br>";
    ob_flush();
    flush();
    ob_end_clean();
}
Example #2
0
function main($load_catalog, $load_all = 0)
{
    global $arr_all;
    global $objPHPExcel;
    global $all_count;
    global $all_count_attr;
    $arr_1 = array();
    $arr_2 = array();
    $arr_tovar = array();
    ob_start();
    if ($load_all == 0) {
        $m = 0;
        //счетчик для прогресс бара
        $attr_count = 2;
        //счетчик атрибутов
    } else {
        $m = $all_count;
        $attr_count = $all_count_attr;
    }
    echo "Start load catalog: " . $load_catalog . " " . date("H:i:s") . "<br>";
    ob_flush();
    flush();
    $arr_1 = get_page_count($arr_all[$load_catalog][0], $arr_all[$load_catalog][2]);
    // Первый цикл получаем массив ссылок на страницы КАТАЛОГА (ID каталога + ссылка страницу каталога) по одной категории из $arr_all
    for ($i = 0; $i < count($arr_1); $i++) {
        /*echo $arr_1[$i][0] . "   " . $arr_1[$i][1] ."<br>";		//ID каталога + ссылка страницу каталога
        		ob_flush();
        		flush();
        		sleep(1);*/
        $arr_2 = getItem($arr_1[$i][0], $arr_1[$i][1]);
        //Второй цикл получаем массив ссылок на страницы ТОРАРА (ID каталога + ID товара + ссылка на страницу товара) по одной категории из $arr_all
        for ($j = 0; $j < count($arr_2); $j++) {
            $m = $m + 1;
            $d = $m + 1;
            $image_file_name = save_img($arr_2[$j]['image']);
            //Скачивает картинку товара
            $objPHPExcel->setActiveSheetIndex(0)->setCellValue('A' . $d, $arr_2[$j]['tovar_id'])->setCellValue('B' . $d, str_replace('&quot;', '"', $arr_2[$j]['name']))->setCellValue('C' . $d, str_replace('&quot;', '"', $arr_2[$j]['name']))->setCellValue('D' . $d, $arr_2[$j]['catalog_id'])->setCellValue('L' . $d, '1000')->setCellValue('M' . $d, $arr_2[$j]['tovar_id'])->setCellValue('O' . $d, '/catalog/catalog/' . $image_file_name)->setCellValue('P' . $d, 'yes')->setCellValue('Q' . $d, $arr_2[$j]['price'])->setCellValue('S' . $d, date('Y-m-d H:i:s'))->setCellValue('T' . $d, date('Y-m-d H:i:s'))->setCellValue('U' . $d, date('Y-m-d'))->setCellValue('AB' . $d, 'true')->setCellValue('AB' . $d, 'true')->setCellValue('AC' . $d, '0')->setCellValue('AM' . $d, '7')->setCellValue('AN' . $d, '0')->setCellValue('AS' . $d, '0')->setCellValue('AT' . $d, 'true')->setCellValue('AU' . $d, '1');
            //echo $arr_2[$j]['catalog_id'] . " " . $arr_2[$j]['tovar_id'] . " " . $arr_2[$j]['price'] . " " . $arr_2[$j]['name'] . " " . $arr_tovar['brand'] . " " . $arr_2[$j]['link'] . "<br>"; // ID каталога + ID товара + ссылка на страницу товара
            $arr_tovar = get_tovar(html_entity_decode($arr_2[$j]['link']));
            for ($x = 0; $x < count($arr_tovar); $x++) {
                $objPHPExcel->setActiveSheetIndex(1)->setCellValue('A' . $attr_count, $arr_2[$j]['tovar_id'])->setCellValue('B' . $attr_count, 'Характеристики')->setCellValue('C' . $attr_count, $arr_tovar[$x]['Attribute'])->setCellValue('E' . $attr_count, $arr_tovar[$x]['Value']);
                $attr_count = $attr_count + 1;
            }
        }
        echo '<script>
					document.all.proc' . $load_catalog . '.innerHTML = "' . round(($i + 1) * 100 / count($arr_1), 0) . ' % (' . $m . ')";
					document.all.line' . $load_catalog . '.innerHTML = "' . CopyLine(($i + 1) * 100 / count($arr_1)) . '";
					</script>';
        ob_flush();
        flush();
    }
    echo "Stop load catalog: " . $load_catalog . " " . date("H:i:s") . "<br>";
    ob_flush();
    flush();
    $all_count = $m;
    $all_count_attr = $attr_count;
    //Закрываем соеденение
    //curl_close($ch);
    ob_end_clean();
}