GDiV
Новичок
Spreadsheet_Excel_Writer и цикл
Имеется скрипт, выводящий данный из MySQL базы, и создающий при помощи Spreadsheet_Excel_Writer price.xls
Сама команда $cart[$razdel] ->setColumn(0,0,77), если убрать ее из цикла, и написать неже него, работает без проблем, но, естественно, работает только для последнего листа, т.к переменно $razdel_name присваивается последнее значение.
С одним листом скрипт работает нормально, но задача стоит в полистовому выводу прайса.
Кто подскажет почему возникла проблема в цикле?
-~{}~ 20.12.05 09:15:
Я так понял, что каждый лист должен иметь уникальное имя, а имена вида $name[$i] не работают.
Пошел немного другим путем, создал один лист, но т.к. позиций формируются оч. много, требуется группировка.
Насколько я понял, как раз для этого есть функция
void Worksheet::setOutline ([bool $visible=true [, bool $symbols_below=true [, bool $symbols_right=true [, bool $auto_style=false]]]])
Но я так и не понял как она работатет, если кто уже делал такое, подскажите.
Имеется скрипт, выводящий данный из MySQL базы, и создающий при помощи Spreadsheet_Excel_Writer price.xls
PHP:
<?require_once "Spreadsheet/Excel/Writer.php";
include ("../inc/perem.inc"); //Переменные
// Create workbook
$xls =& new Spreadsheet_Excel_Writer();
$n_res = mysql_query("SELECT * FROM catalog_folder WHERE razdel='' ORDER BY name ASC",$db);
while ($n2=mysql_fetch_array($n_res)){
$razdel=$n2['id'];
$razdel_name=$n2['name'];
$cart[$razdel] =& $xls->addWorksheet($razdel_name); //Создаем листы с группами товара. Эта строка работает без проблем
$cart[$razdel] ->setColumn(0,0,77); // А вот тут и далее возникает проблема. Скрипт с этой строки останавливается.
}
$xls->send("price.xls");
$xls->close();?>
С одним листом скрипт работает нормально, но задача стоит в полистовому выводу прайса.
Кто подскажет почему возникла проблема в цикле?
-~{}~ 20.12.05 09:15:
Ошибся, переменной $razdelСама команда $cart[$razdel] ->setColumn(0,0,77), если убрать ее из цикла, и написать неже него, работает без проблем, но, естественно, работает только для последнего листа, т.к переменно $razdel_name присваивается последнее значение.
Я так понял, что каждый лист должен иметь уникальное имя, а имена вида $name[$i] не работают.
Пошел немного другим путем, создал один лист, но т.к. позиций формируются оч. много, требуется группировка.
Насколько я понял, как раз для этого есть функция
void Worksheet::setOutline ([bool $visible=true [, bool $symbols_below=true [, bool $symbols_right=true [, bool $auto_style=false]]]])
Но я так и не понял как она работатет, если кто уже делал такое, подскажите.