Ulaa
 Поделиться

Рекомендуемые сообщения

В 24.05.2016 at 23:59, Yoda сказал:

<?php

set_time_limit(300);


require_once (dirname(__FILE__) . '/config.php');
$filename = "price-" . date("Y-m-d",time()) . '.csv' ;

$f = fopen( dirname(__FILE__) . "/" . $filename , "w");

$link = mysqli_connect(DB_HOSTNAME, DB_USERNAME, DB_PASSWORD, DB_DATABASE) 
    or die("ERROR " . mysqli_error($link));


	

	$sql =	"DROP TABLE IF EXISTS oc_aliases";
	query($sql, $link);
	
	
	
	$sql = "
	CREATE TABLE IF NOT EXISTS oc_aliases 
	(product_id INT(11) NOT NULL, PRIMARY KEY main_key (url_alias_id),
	INDEX product_id (product_id))
	SELECT *, REPLACE(query, 'product_id=', '') as product_id
	FROM  `oc_url_alias` 
	WHERE  `query` LIKE  '%product_id=%'";
	
	query($sql, $link);

	


	
	$sql =	"DROP TABLE IF EXISTS oc_1temp_table";
	query($sql, $link);
	


	$sql = "CREATE TABLE IF NOT EXISTS oc_1temp_table 
			SELECT p.product_id, pd.name, p.model, p.price, CONCAT('" . HTTP_SERVER . "image/', p.image) as image, m.name as brand, CONCAT('" . HTTP_SERVER . "', keyword) as url
			FROM oc_product p 
			LEFT JOIN oc_product_description pd ON(p.product_id = pd.product_id ) 
			LEFT JOIN oc_manufacturer m ON(p.manufacturer_id = p.manufacturer_id ) 
			LEFT JOIN oc_aliases al ON(p.product_id = al.product_id ) 
			WHERE status = 1 GROUP BY p.product_id
			";
			
	query($sql, $link);
	
	$sql = "SHOW COLUMNS FROM oc_1temp_table";
	$result = query($sql, $link);
	


    $i = 0;
	$csv_output = '';
    if (mysqli_num_rows($result) > 0) {
    	while ($row = mysqli_fetch_assoc($result)) {
    		$csv_output .= $row['Field']."; ";
    		$i++;
    	}
    }
	
	$csv_output .= "\n";
	fwrite($f, $csv_output); 
   
	


    	
	$sql = "SELECT * FROM oc_1temp_table";
	$values = query($sql, $link);


   while ($row = $values->fetch_row()) {
		$csv_output = '';
    	for ($j=0;$j<$i;$j++) {
    		$csv_output .= $row[$j]."; ";
    	}
		$csv_output .= "\n";
		fwrite($f, $csv_output); 
    }
	


	



	fclose($f);
	
	$content = file_get_contents(dirname(__FILE__) . "/" . $filename);
	header("Content-type: application/vnd.ms-excel");
    header("Content-disposition: csv" . date("Y-m-d") . ".csv");
    header( "Content-disposition: filename=" . $filename);
	echo($content);
	
	mysqli_close($link);
    exit;

	function query($sql, $link) {
			mysqli_query($link, "set names 'utf8'");
			mysqli_query($link, "SET CHARACTER SET 'utf8'"); 	
			$result = mysqli_query($link, $sql) or die("ERROR " . mysqli_error($link)); 
			return $result;
	} 

?>

Положите этот php код в файл в корень с любым названием export.php например. 
И наслаждайтесь моментальным экспортом.

Здравствуйте! Код конечно работает хорошо но выгружает малую толику продуктов!

Если продуктов 1800

И еще атрибутов на 22000 строк в ехель !

Как тогда быть?

Ссылка на комментарий
Поделиться на других сайтах

36 минут назад, paratrooper сказал:

Здравствуйте! Код конечно работает хорошо но выгружает малую толику продуктов!

Если продуктов 1800

И еще атрибутов на 22000 строк в ехель !

Как тогда быть?

 

ТЫЦ или ТЫЦ.

Ссылка на комментарий
Поделиться на других сайтах

Присоединяйтесь к обсуждению

Вы можете опубликовать сейчас и зарегистрироваться позже. Если у вас есть учётная запись, войдите, чтобы публиковать под своей учётной записью.

Гость
Ответить в тему...

×   Вы вставили отформатированное содержимое.   Удалить форматирование

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Показать вместо этого как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Нельзя вставлять изображения напрямую. Загрузите или вставьте изображения по URL.

 Поделиться

  • Сейчас на странице   0 пользователей

    • Нет пользователей, просматривающих эту страницу