powered by simpleCommunicator - 2.0.30     © 2024 Programmizd 02
Map
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / генерирование
2 сообщений из 2, страница 1 из 1
генерирование
    #39780182
1dva3
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Пришло и мое время тупить(((

Добрый день!
У меня есть запрос в pl/sql. Я загружаю его в php, с помощью objPhpExcel. Но теперь запрос, очень большой и я решил рисовать в XML.
Хотя в этом ни шарю.(((

Подскажите пжл. Я выложу типичный запрос, помогите пжл нарисовать его в php с помощью XML.
На скринах запрос и php(objphpexcel). Как переделать его в php(xml)

Спасибо

begin for q in(
select filial_id,region_id, reg,count(case when sd like '12.2018'
then 1 end) dec2018,
count(case when sd like '01.2019'
then 1 end) jan2019,
count(case when sd like '02.2019'
then 1 end) feb2019,
count(case when sd like '03.2019'
then 1 end) mar2019
from(
select distinct(lic), filial_id, reg,region_id, sd from
(select cs.id filial_id,t.region_id region_id, trim(r.name) reg, a.id lic, tdr.debit nach, to_char(tdr.service_date, 'mm.yyyy') sd
from db.abonent a,
db.tdr tdr,
db.report_date rd,
db.crm_server cs,
db.region r,
db.town t,
db.abonent_type at, db.budget bg,
db.sap_client sap

where
-- tdr.report_date_id=1
tdr.report_date_id in (1, 12)
and t.id=a.town_id
and t.region_id=r.id
and tdr.abonent_id=a.id
and rd.id=tdr.report_date_id
and tdr.debit >= 0
and at.id=a.abonent_type_id
and at.id=1
and a.budget_id=bg.id
and bg.sap_client_id=sap.id
and sap.note in ('AFL10', 'AFL20', 'AFL30', 'UD10', 'UD20', 'UD30', 'UKO10', 'UKO20',
'UKO30', 'FRN102', 'FRN202', 'FRN302')
) group by filial_id,reg,region_id, lic , sd)
group by filial_id,region_id, reg) loop
insert into zrdt.report_detail@zrdt
(report_date,
report_id,
report_result_id,
sub_report,
filial_id,
region_id,
vfield1,
nfield1,
nfield2,
nfield3,
nfield4)
values
(to_char(sysdate, 'rrrrmm'),
&1,
&2,
0,
q.filial_id,
q.region_id,
q.reg,
nvl(q.dec2018, 0),
nvl(q.jan2019, 0),
nvl(q.feb2019, 0),
nvl(q.mar2019, 0));
end loop;
end;


Далее то что РИСУЮ в пхп

<?php
//define( '_VALID_', 1 );
defined( '_VALID_' ) or die( 'Restricted access' );
$dir='/var/www/html/build';
//require_once( $dir.'/config.php' );
//$Config_db_nls_lang='AL32UTF8';
//require_once( $Config_absolute_path.'/main/db.php' );
//require_once( $dir.'/main/db.php' );
//$in_fname=$Config_absolute_path."/sql/".$tmpls;
date_default_timezone_set('Asia/Aqtobe'); //'Europe/Moscow'
require_once 'xls/PHPExcel.php';
$query="select * from zrdt.report where id=".$report_id;
$database->setQuery($query);
$database->loadObject($report);

// создаем объект
$objPHPExcel = new PHPExcel();
$objPHPExcel->getProperties()
->setCreator("Nurzhaubay A.")
->setLastModifiedBy()
->setTitle("10.161.2.10")
->setSubject("10.161.2.10")
->setDescription("")
->setKeywords("");
$objPHPExcel->setActiveSheetIndex(0);

// получаем данные из БД
$query="select f.full_name f_name,d.*
from zrdt.report_detail d,zrdt.filial f where f.id=d.filial_id
and report_id=".$report_id." and report_result_id=".$report_result_id."
order by filial_id";
$database->setQuery($query);$rows = $database->loadObjectList();

// заполняем заголовок столбцов
$objPHPExcel->setActiveSheetIndex(0)
->setCellValueByColumnAndRow(1,2,mb_convert_encoding('Регион', "utf-8","windows-1251"))
->setCellValueByColumnAndRow(2,2,mb_convert_encoding('Канал', "utf-8","windows-1251"))
->setCellValueByColumnAndRow(3,2,mb_convert_encoding('01.01.2019', "utf-8","windows-1251"))
->setCellValueByColumnAndRow(4,2,mb_convert_encoding('01.02.2019', "utf-8","windows-1251"))
->setCellValueByColumnAndRow(5,2,mb_convert_encoding('01.03.2019', "utf-8","windows-1251"));

for ($i = 1; $i <= 14; $i++) {
$objPHPExcel->setActiveSheetIndex(0)->setCellValueByColumnAndRow($i,4,$i);
}
$i=5;$start=5;$ostart=5;
$dlevel=1;$cur_filial_id='';
$j=0;$n=count($rows);$k=0;

if (count($rows)>0) {
do {
$row=$rows[$k];
if ($i==$start) {$cur_filial_id=$row->F_NAME;};

if ($cur_filial_id != $row->F_NAME) {

$objPHPExcel->setActiveSheetIndex(0)->setCellValueByColumnAndRow(1,$i,mb_convert_encoding($cur_filial_id, "utf-8","windows-1251"));
$cur_filial_id=$row->F_NAME;//$dlevel=$dlevel+1;
for ($j = 3; $j <= 14; $j++) {
if ($j<>14 ) {
$objPHPExcel->setActiveSheetIndex(0)->setCellValueByColumnAndRow($j,$i,"=SUM(".PHPExcel_Cell::stringFromColumnIndex($j).$ostart.":".PHPExcel_Cell::stringFromColumnIndex($j).($i-1).")");
}else {
$objPHPExcel->setActiveSheetIndex(0)->setCellValueByColumnAndRow($j,$i,"=SUM(".PHPExcel_Cell::stringFromColumnIndex($j).$ostart.":".PHPExcel_Cell::stringFromColumnIndex($j).($i-1).")");
}
}
$i++;
$ostart=$i;
}

if ($k>=$n) {break;};

$objPHPExcel->setActiveSheetIndex(0)
->setCellValueByColumnAndRow(1,$i,mb_convert_encoding($row->F_NAME, "utf-8","windows-1251"))
->setCellValueByColumnAndRow(2,$i,mb_convert_encoding($row->VFIELD1, "utf-8","windows-1251"))
->setCellValueByColumnAndRow(3,$i,mb_convert_encoding($row->NFIELD1, "utf-8","windows-1251"))
->setCellValueByColumnAndRow(4,$i,mb_convert_encoding($row->NFIELD2, "utf-8","windows-1251"))
->setCellValueByColumnAndRow(5,$i,mb_convert_encoding($row->NFIELD3, "utf-8","windows-1251"));
...
Рейтинг: 0 / 0
генерирование
    #39780184
1dva3
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
1dva3,

как его переделать в такой формат?
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / генерирование
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]