paratrooper Опубликовано: августа 14, 2016 Жалоба Поделиться Опубликовано: августа 14, 2016 В 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 строк в ехель ! Как тогда быть? Цитата Ссылка на комментарий Поделиться на других сайтах Больше вариантов поделиться...
WarStyle Опубликовано: августа 14, 2016 Жалоба Поделиться Опубликовано: августа 14, 2016 36 минут назад, paratrooper сказал: Здравствуйте! Код конечно работает хорошо но выгружает малую толику продуктов! Если продуктов 1800 И еще атрибутов на 22000 строк в ехель ! Как тогда быть? ТЫЦ или ТЫЦ. Цитата Ссылка на комментарий Поделиться на других сайтах Больше вариантов поделиться...
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете опубликовать сейчас и зарегистрироваться позже. Если у вас есть учётная запись, войдите, чтобы публиковать под своей учётной записью.