COVID2019 и это вот все. Друзья, вся эта история начинает плохо пахнет. Мойте руки, не ходите в люди. Отложите все плановые покупки и положите в носок заначку. Заприте ваших родителей, бабушек-дедушек на даче. Лучше перебдеть чем недобдеть. Берегите себя!

Recommended Posts

В 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 строк в ехель !

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

 

ТЫЦ или ТЫЦ.

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

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

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

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

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

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

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