gust.php 1 Denunciar post Postado Março 4, 2015 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
Ldovale 9 Denunciar post Postado Março 5, 2015 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
gust.php 1 Denunciar post Postado Março 5, 2015 Fala meu amigo ... Resolvi aqui com uma solução nada elegante, mais foi de grande ajuda sua dica. Obrigado! Compartilhar este post Link para o post Compartilhar em outros sites