цены в прайсе

shadou

Писатель
Регистрация
19 Мар 2012
Сообщения
4
Реакции
0
помогите уже пол месяца бьюсь есть модуль для вебасиста с возможность формирования прайса в xls но цены там выводятся например 27 руб а надо 27.00 как это реализовать
вот вот файлик xls.php
<?php
/**
* @name Export pricelist to Microsoft Excel [xls]
* @version 1.0
* @cms WebAsyst Shop-Script v.300+
* @author Nondescript brain
* @copyright 2011 StudiosDL
*
* ���������� �������, ������ � ������� �������� ��� ��������-��������� Shop-Script Webasyst
* Для просмотра ссылки Войди или Зарегистрируйся
* icq: 1272220
* Skype: shop_script.ru
* E-mail: webasyst@studiosdl.com
*
*
* ��� ��������� Kama:
* ������� �������� Shop-Script Webasyst
* Для просмотра ссылки Войди или Зарегистрируйся
* Для просмотра ссылки Войди или Зарегистрируйся
* icq: 330677
* Skype: shop-scripts.ru
* E-mail: shop-scripts@ya.ru
*
**/


if (!mysql_connect($host, $login, $pass))
die('���������� ������������ � ��');

if (!mysql_select_db($bd))




require_once ("./core_functions/excel/Writer.php");

// Creating a workbook
$workbook = new Spreadsheet_Excel_Writer();
$workbook->setTempDir('./temp');

// Sending HTTP headers
$workbook->send(date("Y-m-d") . '-price.xls');

// Creating a worksheet
$worksheet = &$workbook->addWorksheet('Price');

$worksheet->setColumn(0, 0, 8);
$worksheet->setColumn(1, 1, 70);
$worksheet->setColumn(2, 2, 9);

//Encodind
$worksheet->setInputEncoding('CP1251');

//Styles cells and text
$heading1 = &$workbook->addFormat(array('bold' => 1, 'color' => 'white', 'size' => 8, 'fgcolor' => 22));
$heading2 = &$workbook->addFormat(array('bold' => 1, 'color' => 'white', 'size' => 10, 'align' => 'center', 'fgcolor' => 56));
$phone = &$workbook->addFormat(array('bold' => 1, 'size' => 10, 'align' => 'center', 'fgcolor' => 'white'));
$phone2 = &$workbook->addFormat(array('bold' => 1, 'size' => 10, 'align' => 'left', 'fgcolor' => 'white'));
$category[0] = &$workbook->addFormat(array('bold' => 1, 'color' => 52, 'size' => 14));
$category[1] = &$workbook->addFormat(array('bold' => 1, 'color' => 'red', 'size' => 12));
$category[2] = &$workbook->addFormat(array('bold' => 1, 'color' => 63, 'size' => 14,));
$category[3] = &$workbook->addFormat(array('bold' => 1, 'color' => 8, 'size' => 9));

// The head data
$worksheet->writeString(0, 0, "����� ��:", $heading1);
$worksheet->writeString(0, 1, date('d.m.Y � H:i', time()), $heading1);
$worksheet->writeBlank(0, 2, $heading1);





$worksheet->writeString(4, 0, "�������", $heading2);
$worksheet->writeString(4, 1, "������������", $heading2);
$worksheet->writeString(4, 2, "���� ���,", $heading2);

$numrow = 5;

function RunSelect($sql)
{
$localmas = array();
$result = mysql_query($sql);
if ($result == false) {
echo $sql . "<BR>";
echo "" . mysql_error() . "<BR>";
}
while ($row = mysql_fetch_array($result))
$localmas[] = $row;
mysql_freeresult($result);
return $localmas;
}

function CreatePrice($catid, $level)
{
global $worksheet;
global $category;
global $navlink;
global $text;
global $textr;
global $numrow;

$sql = "SELECT categoryID, name_ru FROM SC_categories WHERE parent=$catid ORDER BY name_ru";
$tmpcat = RunSelect($sql);
if (count($tmpcat))
for ($i = 0; $i < count($tmpcat); $i++) {
$worksheet->writeString($numrow, 0, str_repeat(" ", $level) . $tmpcat[$i]['name_ru'],
$category[$level]);
$numrow++;
CreatePrice($tmpcat[$i]['categoryID'], $level + 1);
}
else {
$sql = "SELECT productID, name_ru, in_stock, Price, product_code FROM SC_products WHERE categoryID=$catid AND enabled=1 ORDER BY name_ru";
$tovar = RunSelect($sql);
for ($i = 0; $i < count($tovar); $i++) {
$worksheet->writeString($numrow, 0, $tovar[$i]['product_code'], $text);
$worksheet->writeUrl($numrow, 1, "http://" . $_SERVER['SERVER_NAME'] .
"/index.php?productID=" . $tovar[$i]['productID'], $tovar[$i]['name_ru'], $text);
$worksheet->writenumber($numrow, 2, $tovar[$i]['Price'], $text);
$numrow++;
}

}
}

CreatePrice($_GET['categoryID'], 0);

// Let's send the file
$workbook->close();
?
 
Все просто
замени
PHP:
$worksheet->writenumber($numrow, 2, $tovar[$i]['Price'], $text);
на
PHP:
$worksheet->writenumber($numrow, 2,  number_format($tovar[$i]['Price'], 2), $text);
 
Все просто
замени
PHP:
$worksheet->writenumber($numrow, 2, $tovar[$i]['Price'], $text);
на
PHP:
$worksheet->writenumber($numrow, 2,  number_format($tovar[$i]['Price'], 2), $text);
хм странно никаких изменений не произошло

может быть параметры установленные в базе msql для данных price неверны тоесть сейчас там стоит
 
тогда возможно проблема в функции writenumber() она может фильтровать данные

или поэкспериментируй с функцией number_format()
PHP:
// так
$worksheet->writenumber($numrow, 2,  number_format($tovar[$i]['Price'], 2, '.'), $text);
 
// или так
$worksheet->writenumber($numrow, 2,  number_format($tovar[$i]['Price'], 2, ','), $text);

Также может быть проблема в настройках самого Excel
 
тогда возможно проблема в функции writenumber() она может фильтровать данные

или поэкспериментируй с функцией number_format()
PHP:
// так
$worksheet->writenumber($numrow, 2,  number_format($tovar[$i]['Price'], 2, '.'), $text);
 
// или так
$worksheet->writenumber($numrow, 2,  number_format($tovar[$i]['Price'], 2, ','), $text);

Также может быть проблема в настройках самого Excel
при замены на любую из этих строк закачивается норм а при открытии в excel вылазит ошибка пишут что проблема где то в этих строках хотя проблемы не вижу

а если попробовать присвоить money_format то как будет выглядеть строка?
 
откуда ты взял money_format ? number_format() - стандартная функция РНР.
Давай не будем флудить тут. пиши в личку. решу твой вопрос
 
Назад
Сверху