Ir para conteúdo

POWERED BY:

Arquivado

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

gust.php

Relatório agrupado por data

Recommended Posts

Amigos, desenvolvi um sistema para a empresa e agora estou fazendo alguma atualizações. Uma dessa atualizações é a geração de um relatório por período de datas, onde, quanto tenho registros no dia, gero uma tabela com seus registros, quando não tenho registros não faço nada. Ex.

 

Data 1 = 18/02/2015

Data 2 = 21/02/2015

 

18/02/2015

1 xxxxx xxxxx xxxxx xxxxx

2 xxxxx xxxxxx xxxxx xxxxx

 

19/02/2015

1 yyyyy yyyyy yyyyy yyyy

2 yyyyy yyyyy yyyyy yyyy

 

20/02/2015

1 zzzzz zzzzz zzzzz zzzzz

2 xxxxx xxxxx xxxxx xxxxxx

 

Seria isso. Ok, estou perto de conseguir o que quero, porem, está acontecendo o seguinte:

Estou montando esse relatório com tabelas html, então tenho um cabeçalho, onde fica a identificação de cada campo

 

nome telefone endereço .....

 

E os registros seguem abaixo. O que esta acontecendo é que quando coloco um período de data com 10 dias, e só existe registro em 2 dias, ele constroi todos os cabeçalhos e 2 tabelas cada uma com seus registros.

 

Ex. para ficar mais claro. Tenho registro no dia 18/02, ok ele escreve

 

nome telefone email

Fulano 2222-2222 fulano@hotmail.com

 

Não tenho registro no dia 19/02, ele escreve:

 

nome telefone email

 

Assim vai ....

 

Coloco meu código abaixo pedindo ajuda .....

OBS.: Não sou programador!!!! :-)

 

Obrigado!

<?php


    while ($dta <= $dtaf) {                 
    $d = explode("/",$dta);
    
$d2 = "$dta";
$diavenc = substr("$d2",0,2);
$mesvenc = substr("$d2",3,2);
$anovenc = substr("$d2",6,4);
$d2 = $anovenc."-".$mesvenc."-".$diavenc;
            
    
$sql="SELECT * FROM servicos, motoristas, clientes WHERE servicos.motoristas_idmotoristas=motoristas.idmotoristas AND servicos.clientes_idclientes=clientes.idclientes AND data = '$d2' ORDER BY hora ASC";


$query=mysql_query($sql);

echo "<table x:str border=\"0\" cellpadding=\"0\" cellspacing=\"2\" width=\"100%\" class=\"bordasimples\">
  <tr valign=\"top\" bgcolor=\"#716F61\">
    <td>$dta </td>
    <td class=\"titbranco\">Hora</td>
    <td class=\"titbranco\">Cliente</td>
    <td class=\"titbranco\">File</td>
    <td class=\"titbranco\">Pax</td>
    <td class=\"titbranco\">Nome</td>
    <td class=\"titbranco\">Serviço</td>
    <td class=\"titbranco\">Vôo</td>
    <td class=\"titbranco\">Guia</td>
    <td class=\"titbranco\">Veículo</td>
    <td class=\"titbranco\">Motorista</td>
  </tr>";
 
 while ($linha=mysql_fetch_array($query)) {
    if (empty($linha['data'])) {
        echo "";
        }
    
    if ($linha['faturado'] == 'F') {
       $cor="#FFFF00";
      }
    else{
       $cor="#E4E4E0";
    }

echo "<tr bgcolor=\"$cor\" height=\"19\">
    <td>  </td>
    <td><small>$linha[hora]</small></td>
    <td><small>$linha[cli_nome]</small></td>
    <td><small>$linha[file_cliente]</small></td>
    <td><small>$linha[quant_passageiros]</small></td>
    <td><small>$linha[nome_grupo]</small></td>
    <td><small><a href='edit_servico.php?id=$linha[idservicos]' target=\"principal\" class=\"link_topo\">$linha[desc_servico]</a></small></td>
    <td><small>$linha[num_voo]</small></td>
    <td><small>$linha[nome_guia]</small></td>
    <td><small>$linha[qnt] - $linha[tipo_carro]</small></td>
    <td><small><a href='javascript:void(0)' onClick='window.open('relat_mot.php?mot=$linha[mot_nome]','win2','status=no,toolbar=no,scrollbars=yes,titlebar=Motorista,menubar=no,resizable=yes,width=500,height=200,directories=no,location=no');' class=\"link_topo\">$linha[mot_nome]</a></small></td>
  </tr> <br>";
     // }
   }
$dta = date("d/m/Y", mktime(0, 0, 0, $d[1], $d[0]+1, $d[2]));
}

?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mano,

 

Isso deve estar sendo montado com um laço, correto?Põe condições para só montar o título se houver valores usando $val = strlen($array['valor']);

 

if($val >1){

monta

}

 

Ou faz melhor, cria os títulos fora do laço, para que repeti-los?

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

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