PHP + XML + Alias do Firebird = Dor de cabeça

Enviada por André Fontoura 
André Fontoura
PHP + XML + Alias do Firebird = Dor de cabeça
03 de April de 2012 às 12:47PM
Estou envolvido na manutenção de um site corporativo e cheguei a um grande problema. Existe uma função que faz uma consulta ao banco de dados, só que nessa consulta há dois campos, de tabelas diferentes com o mesmo nome, só que ao enviar essa consulta para o XML ele não consegue diferenciar os dois campos, no caso, ele exibe o primeiro campo DESCRICAO 2x e ele não aceita o uso de Alias... isso é um problema do XML da versão do PHP.... alguém sabe?

$strSQL ="SELECT ";
$strSQL .="conpar.DOCUMENTO, ";
$strSQL .="(EXTRACT(DAY FROM fin.DATA_PAGAMENTO)||'/' || EXTRACT(MONTH FROM fin.DATA_PAGAMENTO)||'/' || EXTRACT(YEAR FROM fin.DATA_PAGAMENTO)), ";
$strSQL .="cad.Razao_Social, ";
$strSQL .="cad.CNPJ_CPF, ";
$strSQL .="opr.DESCRICAO, ";
$strSQL .="tp.DESCRICAO, ";
$strSQL .="sum(conparfin.valor), ";
$strSQL .="conpar.ID, ";
$strSQL .="max(fin.DATA_PAGAMENTO) ";
$strSQL. .="FROM ";
$strSQL .="CONTA_PARCELA conpar ";
$strSQL .="INNER JOIN CONTA con ON con.ID = conpar.FK_CONTA ";
$strSQL .="INNER JOIN CADASTRO cad on con.FK_CADASTRO = cad.ID ";
$strSQL .="INNER JOIN CONTA_PARCELA_FINANCEIRO conparfin ON conpar.ID = conparfin.FK_CONTA_PARCELA ";
$strSQL .="INNER JOIN FINANCEIRO fin ON conparfin.FK_FINANCEIRO = fin.ID ";
$strSQL .="INNER JOIN OPERACAO opr ON fin.FK_OPERACAO = opr.ID ";
$strSQL .="INNER JOIN TIPO_PAGAMENTO tp ON fin.FK_TIPO_PAGAMENTO = tp.ID ";
$strSQL .="WHERE ";
$strSQL .="AND conpar.STATUS = 2 ";
$strSQL .="group by 1,2,3,4,5,6,8";
$strSQL .="ORDER BY 9 DESC";
Marcos Regis
Re: PHP + XML + Alias do Firebird = Dor de cabeça
03 de April de 2012 às 02:03PM
ele não aceita isso??

$strSQL .="opr.DESCRICAO desc_opr, ";
$strSQL .="tp.DESCRICAO desc_tp, ";
Marcos Regis
Re: PHP + XML + Alias do Firebird = Dor de cabeça
03 de April de 2012 às 02:04PM
E onde está o problema com o XML?
Você precisa estar logado no PHPBrasil.com para poder enviar mensagens para os nossos fóruns.

Faça o login aqui.