Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Ljrbrasil

Exportar BD no Excel

Recommended Posts

Pessoal

Boa tarde!

 

Estou com um sistema que esta funcionado perfeitamente  e seu objetivo e coletar informações em campo. essas informaçoes estão alimentando um BD (phpmyadmin) estou com dois que geram o relatório em Excel (xls) porém o Banco de dados fora gerados 225 linhas e ao exportar está puxando 205 ou seja fica faltando 20 linhas.

 

Alguém consegue me dizer onde esta o erro?

Relatorio.php

 

<?php
 
   include("excelwriter.inc.php");


    $excel=new ExcelWriter("Empresa_Percentual.xls");

    if($excel==false){
        echo $excel->error;
   }

   //Escreve o nome dos campos de uma tabela
   $myArr=array('Data', 'Hora', 'Cod. Cliente', 'Cliente', 'Cod. Promotor', 'Promotor', 'Creme', 'Escova', 'Enxaguante', 'S. Barra', 'Sh / Condicionador');
   $excel->writeLine($myArr);

   //Seleciona os campos de uma tabela
	$conn = mysql_connect("localhost", "login", "senha") or die ('Não foi possivel conectar ao banco de dados! Erro: ' . mysql_error());
	if($conn)
	{
	mysql_select_db("sistema", $conn);
	}
   $consulta = "select * from percentual ORDER BY data, hora";
   $resultado = mysql_query($consulta);
   if($resultado==true){
      while($linha = mysql_fetch_array($resultado)){
// QUANDO ALTERO ESTA PARTE NA HORA DA EXPORTAÇÃO ELE PULA A MESMA QUANTIDADE DE LINHAS QUE EU IMPLANTO .NESTE CASO 3 LINHAS//
         $myArr1=array($linha['data'], $linha['hora'], $linha['codcli'], $linha['razs'], $linha['codpro'], $linha['promotor'], $linha['percent1'], $linha['percent2'], $linha['percent3'], $linha['percent4'], $linha['percent5']);
		 $excel->writeLine($myArr1); 
      }
   }


    $excel->close();
    echo "Relatório de pedidos gerado com sucesso. Clique <a href=\"Empresa_Percentual.xls\">Empresa_Percentual</a> para baixar.";

?>

 

excelwriter.inc.php

 

<?php

     /*
     ###############################################
     ####                                       ####
     ####    Author : Harish Chauhan            ####
     ####    Date   : 31 Dec,2004               ####
     ####    Updated:                           ####
     ####                                       ####
     ###############################################

     */


     /*
     * Class is used for save the data into microsoft excel format.
     * It takes data into array or you can write data column vise.
     */


Class ExcelWriter{

   var $fp=null;
    var $error;
    var $state="CLOSED";
    var $newRow=false;

    /*
    * @Params : $file  : file name of excel file to be created.
    * @Return : On Success Valid File Pointer to file
    *             On Failure return false
    */
    function ExcelWriter($file="",$bsc="CELLPAR"){
        return $this->open($file);
    }

    /*
    * @Params : $file  : file name of excel file to be created.
    *                if you are using file name with directory i.e. test/myFile.xls
    *                then the directory must be existed on the system and have permissioned properly
    *                to write the file.
    * @Return : On Success Valid File Pointer to file
    *                On Failure return false
    */
    function open($file){
        if($this->state!="CLOSED"){
            $this->error="Error : Another file is opend .Close it to save the file";
            return false;
        }

        if(!empty($file)){
           $this->fp=@fopen($file,"w+");
        }else{
           $this->error="Usage : New ExcelWriter('fileName')";
            return false;
        }

      if($this->fp==false){
         $this->error="Error: Unable to open/create File.You may not have permmsion to write the file.";
            return false;
      }
        $this->state="OPENED";
        fwrite($this->fp,$this->GetHeader());
        return $this->fp;
   }

    function close(){
       if($this->state!="OPENED"){
          $this->error="Error : Please open the file.";
            return false;
       }
        if($this->newRow){
           fwrite($this->fp,"</tr>");
            $this->newRow=false;
        }
        fwrite($this->fp,$this->GetFooter());
        fclose($this->fp);
        $this->state="CLOSED";
        return;
    }

        /* @Params : Void
        *  @return : Void
        * This function write the header of Excel file.
        */
   function GetHeader(){
        $header = <<<EOH
        <html xmlns:o="urn:schemas-microsoft-com:office:office"
               xmlns:x="urn:schemas-microsoft-com:office:excel"
                xmlns="http://www.w3.org/TR/REC-html40">

                <head>
                <meta http-equiv=Content-Type content="text/html; charset=us-ascii">
                <meta name=ProgId content=Excel.Sheet>
                <!--[if gte mso 9]><xml>
                 <o:DocumentProperties>
                  <o:LastAuthor>Sriram</o:LastAuthor>
                  <o:LastSaved>2005-01-02T07:46:23Z</o:LastSaved>
                  <o:Version>10.2625</o:Version>
                 </o:DocumentProperties>
                 <o:OfficeDocumentSettings>
                  <o:DownloadComponents/>
                 </o:OfficeDocumentSettings>
                </xml><![endif]-->
                <style>
                <!--table
                    {mso-displayed-decimal-separator:"\.";
                    mso-displayed-thousand-separator:"\,";}
                @page
                    {margin:1.0in .75in 1.0in .75in;
                    mso-header-margin:.5in;
                    mso-footer-margin:.5in;}
                tr
                    {mso-height-source:auto;}
                col
                    {mso-width-source:auto;}
                br
                    {mso-data-placement:same-cell;}
                .style0
                    {mso-number-format:General;
                    text-align:general;
                    vertical-align:bottom;
                    white-space:nowrap;
                    mso-rotate:0;
                    mso-background-source:auto;
                    mso-pattern:auto;
                    color:windowtext;
                    font-size:10.0pt;
                    font-weight:400;
                    font-style:normal;
                    text-decoration:none;
                    font-family:Arial;
                    mso-generic-font-family:auto;
                    mso-font-charset:0;
                    border:none;
                    mso-protection:locked visible;
                    mso-style-name:Normal;
                    mso-style-id:0;}
                td
                    {mso-style-parent:style0;
                    padding-top:1px;
                    padding-right:1px;
                    padding-left:1px;
                    mso-ignore:padding;
                    color:windowtext;
                    font-size:10.0pt;
                    font-weight:400;
                    font-style:normal;
                    text-decoration:none;
                    font-family:Arial;
                    mso-generic-font-family:auto;
                    mso-font-charset:0;
                    mso-number-format:General;
                    text-align:general;
                    vertical-align:bottom;
                    border:none;
                    mso-background-source:auto;
                    mso-pattern:auto;
                    mso-protection:locked visible;
                    white-space:nowrap;
                    mso-rotate:0;}
                .xl24
                    {mso-style-parent:style0;
                    white-space:normal;}
                -->
                </style>
                <!--[if gte mso 9]><xml>
                 <x:ExcelWorkbook>
                  <x:ExcelWorksheets>
                   <x:ExcelWorksheet>
                    <x:Name>NOME_PLANILHA</x:Name>
                    <x:WorksheetOptions>
                     <x:Selected/>
                     <x:ProtectContents>False</x:ProtectContents>
                     <x:ProtectObjects>False</x:ProtectObjects>
                     <x:ProtectScenarios>False</x:ProtectScenarios>
                    </x:WorksheetOptions>
                   </x:ExcelWorksheet>
                  </x:ExcelWorksheets>
                  <x:WindowHeight>10005</x:WindowHeight>
                  <x:WindowWidth>10005</x:WindowWidth>
                  <x:WindowTopX>120</x:WindowTopX>
                  <x:WindowTopY>135</x:WindowTopY>
                  <x:ProtectStructure>False</x:ProtectStructure>
                  <x:ProtectWindows>False</x:ProtectWindows>
                 </x:ExcelWorkbook>
                </xml><![endif]-->
                </head>

                <body link=blue vlink=purple>
                <table x:str border=0 cellpadding=0 cellspacing=0 style='border-collapse: collapse;table-layout:fixed;'>
EOH;
            return $header;
   }

    function GetFooter(){
       return "</table></body></html>";
    }

    /*
    * @Params : $line_arr: An valid array
    * @Return : Void
    */

    function writeLine($line_arr){
       if($this->state!="OPENED"){
          $this->error="Error : Please open the file.";
            return false;
       }
        if(!is_array($line_arr)){
           $this->error="Error : Argument is not valid. Supply an valid Array.";
            return false;
        }
        fwrite($this->fp,"<tr>");
        foreach($line_arr as $col)
           fwrite($this->fp,"<td class=xl24 width=64 >$col</td>");
        fwrite($this->fp,"</tr>");
    }

    /*
    * @Params : Void
    * @Return : Void
    */
    function writeRow(){
      if($this->state!="OPENED"){
          $this->error="Error : Please open the file.";
            return false;
       }
       if($this->newRow==false){
         fwrite($this->fp,"<tr>");
       }else{
           fwrite($this->fp,"</tr><tr>");
            $this->newRow=true;
        }
   }

    /*
    * @Params : $value : Coloumn Value
    * @Return : Void
    */
    function writeCol($value){
       if($this->state!="OPENED"){
          $this->error="Error : Please open the file.";
            return false;
       }
        fwrite($this->fp,"<td class=xl24 width=64 >$value</td>");
    }
}

?>

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ljrbrasil, eu fiz o seguinte teste, eliminando o banco, e exportou os 300 registros, ok.
 

<?php
  include("excelwriter.inc.php");
  $excel=new ExcelWriter("Empresa_Percentual.xls");
  if($excel==false){
        echo $excel->error;
   }
  $myArr=array('Data', 'Hora', 'Cod. Cliente', 'Cliente', 'Cod. Promotor', 'Promotor', 'Creme', 'Escova', 'Enxaguante', 'S. Barra', 'Sh / Condicionador');
  $excel->writeLine($myArr);
  for ($contador = 0; $contador < 300; $contador++) {
    $myArr1=array('data', 'hora', 'codcli', 'razs', 'codpro', 'promotor', 'percent1', 'percent2', 'percent3', 'percent4', 'percent5');
    $excel->writeLine($myArr1); 
  }
  $excel->close();
  echo "Relatório de pedidos gerado com sucesso. Clique <a href=\"Empresa_Percentual.xls\">Empresa_Percentual</a> para baixar.";
?>


Vamos tentar encontrar o problema. Abaixo de:

if($resultado==true){

Adicione:

$numRows mysql_num_rows($resultado);
echo 
$numRows; exit; 

Deve retornar  225  registros!

Assim você ira confirmar se o php esta lendo todos os registros, e se não esta tendo problemas com algum tipo de caracter

Caso os dados estejam todos vindo ok, talvez seja problema com algum caracter na hora de gravar no excel. Para verificar isso, crie uma variavel $contador antes do while, e faça $contador++ após $excel->writeLine($myArr1); 
e imprima echo $contador; exit; após o while

Ah, antes de tudo... executando select * from percentual ORDER BY data, hora direto no banco de dados, está te trazendo 225 registros?

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por biza
      Boa tarde, 
      tenho um problema com VBA, que gostaria que me ajudassem a resolver, pretendo com recurso a código em VBA agregar os dados  de forma a que eles sejam somados.
      Em baixo, existe uma imagem , com o exemplo do pretendido. A esquerda a tabela que possui os dados de forma massiva e a direita o pretendido.
      Será que alguém me pode auxiliar a resolver isto!
      Obrigado.

    • Por Elisame Araújo
      Seguinte,
      Eu tenho uma página de atualização de lista de faixas que estão agrupados por álbum, com os dados vindo através de parâmetros na url como o albumID e detalhes e são retornados dentro de um while.
      O que eu queria é que ele atualizasse todos os campos que fossem editados se eles fossem modificados, mas o que o ocorre é que apenas o último registro é atualizado.
       
      O script que traz as faixas:
       
      <tr> <form class="form-group" method="post" action="includes/funcoes/atualizar-faixas.php"> <?php while($sqlSelect = mysqli_fetch_assoc($result)) { ?> <td><input type="text" value="<?php echo $sqlSelect['trackNumero'] ?>" class="form-control" name="trackNumero"></td> <td><input type="text" value="<?php echo $sqlSelect['trackTitulo'] ?>" class="form-control" name="trackTitulo"></td> <td><input type="text" value="<?php echo $sqlSelect['trackTraducao'] ?>" class="form-control" name="trackTraducao"></td> <td><input type="text" value="<?php echo $sqlSelect['trackID'] ?>" class="form-control" name="trackID" readonly></td> <td><input type="text" value="<?php echo $sqlSelect['albumID'] ?>" class="form-control" name="albumID" readonly></td> </tr> <?php } ?> <tr><a href="albuns-lista.php"><button name="cancelar" id="cancelar" class="btn btn-danger mb-3 mr-1" type="button"> <i class="fa-solid fa-arrow-left"></i> Voltar</button></a></tr> <tr><button name="update" id="update" class="btn btn-success mb-3" type="submit" value=""><i class="fa-solid fa-arrow-up-from-bracket"></i> Atualizar</button></tr> </form>  
       
      E esse é o resultado do código acima:

       
      E este é o código que uso pra fazer o UPDATE no banco de dados:
      <?php require_once "../db/albuns.php"; if(isset($_POST['update'])){ $trackNumero = $_POST['trackNumero']; $trackTitulo = mysqli_real_escape_string($conecta2, $_POST['trackTitulo']); $trackTraducao = $_POST['trackTraducao']; $trackID = $_POST['trackID']; $albumID = $_POST['albumID']; $sqlUpdate = "UPDATE `faixas` SET `trackTitulo` = '$trackTitulo', `trackNumero` = '$trackNumero', `trackTraducao` = '$trackTraducao' WHERE `albumID` = $albumID AND `trackID` = $trackID"; if($atualizaDados = mysqli_query($conecta2, $sqlUpdate) == true){ var_dump($sqlUpdate); //header("location: ../../albuns.php?update=sucesso"); } else { //header("location: ../../albuns.php?update=erro"); } } ?> Como eu faria para que cada linha fosse atualizada individualmente? Já tentei diversos métodos, mas o resultado continua sendo a atualização apenas do último registro no banco, ignorando o restante das atualizações.
    • Por luiz0o
      Estou fazendo um projeto para faculdade, e tenho um formulário, esse formulário precisa enviar as respostas tanto para um banco de dados, mas também tem que enviar para uma API que envia para meu email, mas não sei como fazer essas duas coisas ao mesmo tempo
    • Por rsnow
      Bom dia a todos;
      Estou com problema na leitura de um arquivo .CSV, 
      a coluna que contém número de CNPJ está vindo convertido em notação científica e não estou conseguindo converter para numeração correta
      Ex: 3,04918E+12
      eu quero mostrar o valor que se encontra convertido que no caso é 3049181000139
      porém faço isso manual no próprio excel e isso se torna muito trabalhoso toda vez.
       
      alguma luz?

    • Por michelramos
      tenho a seguinte view local no mysql:
      select orcamentos.id, orcamentos.id_empresa, 'orcamento' as tipo, orcamentos.data_aprovacao, month(orcamentos.data_aprovacao) as mes, year(orcamentos.data_aprovacao) as ano, sum(itens_orcamentos.quantidade) as quantidade, sum(itens_orcamentos.preco_unidade) as preco_unidade, sum(itens_orcamentos.desconto) as desconto, sum(itens_orcamentos.preco_unidade_desconto) as preco_unidade_desconto, orcamentos.desconto_orcamento as desconto_orcamento, sum(itens_orcamentos.preco_total) as preco_total, (orcamentos.total_outros_itens+orcamentos.outras_despesas+(select sum(preco_total) from itens_orcamentos where id_orcamento = orcamentos.id)) as total_sem_desconto, ( (orcamentos.total_outros_itens+orcamentos.outras_despesas+(select sum(preco_total) from itens_orcamentos where id_orcamento = orcamentos.id)) - (((orcamentos.total_outros_itens+orcamentos.outras_despesas+(select sum(preco_total) from orcamentos where id_orcamento = orcamentos.id))*orcamentos.desconto_orcamento)/100) ) as total_com_desconto from orcamentos inner join itens_orcamentos on orcamentos.id = itens_orcamentos.id_orcamento where orcamentos.id_situacao in (3,5,6) group by orcamentos.id union all select ordens_servico.id, ordens_servico.id_empresa, 'ordem_servico'as tipo, ordens_servico.data_aprovacao, month(ordens_servico.data_aprovacao) as mes, year(ordens_servico.data_aprovacao) as ano, sum(itens_ordem_servico.quantidade) as quantidade, sum(itens_ordem_servico.preco_unidade) as preco_unidade, sum(itens_ordem_servico.desconto) as desconto, sum(itens_ordem_servico.preco_unidade_desconto) as preco_unidade_desconto, ordens_servico.desconto as desconto_ordem_servico, sum(itens_ordem_servico.preco_total) as preco_total, ((select sum(preco_total) from itens_ordem_servico where id_ordem_servico = ordens_servico.id and tipo = 'produto')) as total_sem_desconto, ( (select sum(preco_total) from itens_ordem_servico where id_ordem_servico = ordens_servico.id and tipo = 'produto') - (((select sum(preco_total) from itens_ordem_servico where id_ordem_servico = ordens_servico.id and tipo = 'produto')*ordens_servico.desconto)/100) ) as total_com_desconto from ordens_servico inner join itens_ordem_servico on ordens_servico.id = itens_ordem_servico.id_ordem_servico where itens_ordem_servico.tipo = 'produto' and ordens_servico.id_situacao in(3,5,6) group by ordens_servico.id union all /* select nfe.id, nfe.id_empresa, 'nfe'as tipo, nfe.data_emissao, month(nfe.data_emissao) as mes, year(nfe.data_emissao) as ano, itens_nfe.descricao as nome, itens_nfe.id_item, coalesce(itens_nfe.quantidade_tributavel) as quantidade, coalesce(itens_nfe.valor_unitario_tributavel, 0) as preco_unidade, null, coalesce(itens_nfe.valor_unitario_tributavel, 0) as preco_unidade_desconto, (valor_unitario_tributavel*quantidade_tributavel) as preco_total from nfe inner join itens_nfe on nfe.id = itens_nfe.id_nfe where itens_nfe.tipo_item = 'produto' and nfe.id_situacao = 3 and nfe.incluir_no_faturamento = 's' */ select nfe.id, nfe.id_empresa, 'nfe'as tipo, nfe.data_emissao, month(nfe.data_emissao) as mes, year(nfe.data_emissao) as ano, null, (nfe.valor_total-nfe.valor_frete) as preco_unidade, null, (nfe.valor_total-nfe.valor_frete) as preco_unidade_desconto, null, (nfe.valor_total-nfe.valor_frete) as preco_total, (nfe.valor_total-nfe.valor_frete) as total_sem_desconto, (nfe.valor_total-nfe.valor_frete) as total_com_desconto from nfe where nfe.id_situacao = 3 and nfe.incluir_no_faturamento = 's' group by nfe.id union all select nfse.id, nfse.id_empresa, 'nfse'as tipo, nfse.data_emissao, month(nfse.data_emissao) as mes, year(nfse.data_emissao) as ano, null as quantidade, (nfse.valor_servicos-nfse.valor_deducoes) as preco_unidade, null, (nfse.valor_servicos-nfse.valor_deducoes) as preco_unidade_desconto, (nfse.valor_servicos-nfse.valor_deducoes) as preco_total, null, (nfse.valor_servicos-nfse.valor_deducoes) as total_sem_desconto, (nfse.valor_servicos-nfse.valor_deducoes) as total_com_desconto from nfse where nfse.id_situacao = 3 and nfse.incluir_no_faturamento = 's' group by nfse.id  
      que, quando coloco no banco online fica da seguinte forma:
      SELECT `orcamentos`.`id` AS `id`, `orcamentos`.`id_empresa` AS `id_empresa`, 'orcamento' AS `tipo`, `orcamentos`.`data_aprovacao` AS `data_aprovacao`, MONTH ( `orcamentos`.`data_aprovacao` ) AS `mes`, YEAR ( `orcamentos`.`data_aprovacao` ) AS `ano`, sum( `itens_orcamentos`.`quantidade` ) AS `quantidade`, sum( `itens_orcamentos`.`preco_unidade` ) AS `preco_unidade`, sum( `itens_orcamentos`.`desconto` ) AS `desconto`, sum( `itens_orcamentos`.`preco_unidade_desconto` ) AS `preco_unidade_desconto`, `orcamentos`.`desconto_orcamento` AS `desconto_orcamento`, sum( `itens_orcamentos`.`preco_total` ) AS `preco_total`, `orcamentos`.`total_outros_itens` + `orcamentos`.`outras_despesas` + ( SELECT sum( `itens_orcamentos`.`preco_total` ) FROM `itens_orcamentos` WHERE `itens_orcamentos`.`id_orcamento` = `orcamentos`.`id` ) AS `total_sem_desconto`, `orcamentos`.`total_outros_itens` + `orcamentos`.`outras_despesas` + ( SELECT sum( `itens_orcamentos`.`preco_total` ) FROM `itens_orcamentos` WHERE `itens_orcamentos`.`id_orcamento` = `orcamentos`.`id` ) - ( `orcamentos`.`total_outros_itens` + `orcamentos`.`outras_despesas` + ( SELECT sum( `itens_orcamentos`.`preco_total` ) FROM `orcamentos` WHERE `itens_orcamentos`.`id_orcamento` = `orcamentos`.`id` ) ) * `orcamentos`.`desconto_orcamento` / 100 AS `total_com_desconto` FROM ( `orcamentos` JOIN `itens_orcamentos` ON ( `orcamentos`.`id` = `itens_orcamentos`.`id_orcamento` ) ) WHERE `orcamentos`.`id_situacao` IN ( 3, 5, 6 ) GROUP BY `orcamentos`.`id` UNION ALL SELECT `ordens_servico`.`id` AS `id`, `ordens_servico`.`id_empresa` AS `id_empresa`, 'ordem_servico' AS `tipo`, `ordens_servico`.`data_aprovacao` AS `data_aprovacao`, MONTH ( `ordens_servico`.`data_aprovacao` ) AS `mes`, YEAR ( `ordens_servico`.`data_aprovacao` ) AS `ano`, sum( `itens_ordem_servico`.`quantidade` ) AS `quantidade`, sum( `itens_ordem_servico`.`preco_unidade` ) AS `preco_unidade`, sum( `itens_ordem_servico`.`desconto` ) AS `desconto`, sum( `itens_ordem_servico`.`preco_unidade_desconto` ) AS `preco_unidade_desconto`, `ordens_servico`.`desconto` AS `desconto_ordem_servico`, sum( `itens_ordem_servico`.`preco_total` ) AS `preco_total`, ( SELECT sum( `itens_ordem_servico`.`preco_total` ) FROM `itens_ordem_servico` WHERE `itens_ordem_servico`.`id_ordem_servico` = `ordens_servico`.`id` AND `itens_ordem_servico`.`tipo` = 'produto' ) AS `total_sem_desconto`, ( SELECT sum( `itens_ordem_servico`.`preco_total` ) FROM `itens_ordem_servico` WHERE `itens_ordem_servico`.`id_ordem_servico` = `ordens_servico`.`id` AND `itens_ordem_servico`.`tipo` = 'produto' ) - ( SELECT sum( `itens_ordem_servico`.`preco_total` ) FROM `itens_ordem_servico` WHERE `itens_ordem_servico`.`id_ordem_servico` = `ordens_servico`.`id` AND `itens_ordem_servico`.`tipo` = 'produto' ) * `ordens_servico`.`desconto` / 100 AS `total_com_desconto` FROM ( `ordens_servico` JOIN `itens_ordem_servico` ON ( `ordens_servico`.`id` = `itens_ordem_servico`.`id_ordem_servico` ) ) WHERE `itens_ordem_servico`.`tipo` = 'produto' AND `ordens_servico`.`id_situacao` IN ( 3, 5, 6 ) GROUP BY `ordens_servico`.`id` UNION ALL SELECT `nfe`.`id` AS `id`, `nfe`.`id_empresa` AS `id_empresa`, 'nfe' AS `tipo`, `nfe`.`data_emissao` AS `data_emissao`, MONTH ( `nfe`.`data_emissao` ) AS `mes`, YEAR ( `nfe`.`data_emissao` ) AS `ano`, NULL AS `NULL`, `nfe`.`valor_total` - `nfe`.`valor_frete` AS `preco_unidade`, NULL AS `NULL`, `nfe`.`valor_total` - `nfe`.`valor_frete` AS `preco_unidade_desconto`, NULL AS `NULL`, `nfe`.`valor_total` - `nfe`.`valor_frete` AS `preco_total`, `nfe`.`valor_total` - `nfe`.`valor_frete` AS `total_sem_desconto`, `nfe`.`valor_total` - `nfe`.`valor_frete` AS `total_com_desconto` FROM `nfe` WHERE `nfe`.`id_situacao` = 3 AND `nfe`.`incluir_no_faturamento` = 's' GROUP BY `nfe`.`id` UNION ALL SELECT `nfse`.`id` AS `id`, `nfse`.`id_empresa` AS `id_empresa`, 'nfse' AS `tipo`, `nfse`.`data_emissao` AS `data_emissao`, MONTH ( `nfse`.`data_emissao` ) AS `mes`, YEAR ( `nfse`.`data_emissao` ) AS `ano`, NULL AS `quantidade`, `nfse`.`valor_servicos` - `nfse`.`valor_deducoes` AS `preco_unidade`, NULL AS `NULL`, `nfse`.`valor_servicos` - `nfse`.`valor_deducoes` AS `preco_unidade_desconto`, `nfse`.`valor_servicos` - `nfse`.`valor_deducoes` AS `preco_total`, NULL AS `NULL`, `nfse`.`valor_servicos` - `nfse`.`valor_deducoes` AS `total_sem_desconto`, `nfse`.`valor_servicos` - `nfse`.`valor_deducoes` AS `total_com_desconto` FROM `nfse` WHERE `nfse`.`id_situacao` = 3 AND `nfse`.`incluir_no_faturamento` = 's' GROUP BY `nfse`.`id`  
      Não sei se a diferença tem haver com o problema, que é o seguinte:
      - ao puxar um registro x no banco local, o resultado retornado é o seguinte: 
      - id | id_empresa | tipo | data_aprovacao | mes | ano | quantidade | preco_unidade | desconto | preco_unidade_descont | desconto_orcamento | preco_total | total_sem_desconto - 181 1 orcamento 2022-10-04 00:00:00 10 2022 67,00 319,05 0,00 319,05 5,00 1350,90 1350,90 1283,355000 - ao puxar o mesmo registro no banco online, o resultado retornado é: - 181 1 orcamento 2022-10-04 00:00:00 10 2022 67,00 319,05 0,00 319,05 5,00 1350,90 1350,90 1318,649994 a ultima coluna está apresentando uma discrepência de mais ou menos 35 e não consegui encontrar nada a respeito
       
      obs: ambos os bancos são idênticos, os dados são idênticos.
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.