Adilson-Colabore Sistemas Posted September 19, 2011 Report Share Posted September 19, 2011 (edited) Fala ai galera! Boa semana pra todos...=)Mais probleminha pra vocês me ajudarem...Tenho que fazer um relatorio de todos os produtos cadastrados em um certo periodo.Para fazer o teste cadastrei alguns e marquei.Quando foi gerado o relatorio era exibido da seguinte forma:quando havia 1 produto era exibido 5quando havia 2 produtos eram exibidos 10quando havia 3 produtos eram exibidos 15oque está acontecendo?ai esta o script<?php session_start();validaAcesso();#require_once("../admin/conexao.php");echo "<h2>Relatório ".$_SESSION["menu"]["rel"][4]."</h2>";?> <script type=text/javascript" src="css2/calendar/dhtmlgoodies_calendar.js"></script> <form method='POST' action='index.php?rel=4&cont=1' autocomplete='off'> <b>Data Inicial:</b> <input type="text" value="<?php echo date("d/m/Y"); ?>" readonly name="pdatai" id="pdatai" id="pdatai"> <img src="images/data.gif" border="0" style="cursor:hand;" onclick="displayCalendar(document.getElementById('pdatai'),'dd/mm/yyyy',this);"> <b>Data Final:</b> <input type="text" value="<?php echo date("d/m/Y"); ?>" readonly name="pdataf" id="pdataf" id="pdataf"> <img src="images/data.gif" border="0" style="cursor:hand;" onclick="displayCalendar(document.getElementById('pdataf'),'dd/mm/yyyy',this);"><br><br> <input type='submit' value='Gerar Estatística'> <div align='right'><a href="java script:void(0);" onclick="getLink('rel',100,false);"><img src='images/seta_voltar.gif' border='0'> voltar para Listagem de Relatórios</a></div> </form><?phpif($_GET["cont]==1){ $novo_datai=formataData($_POST["pdatai"], true); $novo_dataf=formataData($_POST["pdataf"], true); $novo_datai= "$novo_datai 00:00:00"; $novo_dataf= "$novo_dataf 23:59:59"; echo"<br /><table class=perfil2' width='100%'> <tr class='titulo'> <td align='left' width='10'>Qtde</td> <td align='left' width='130'>Descrição</td> <td align='left' width='20'>Cor</td> <td align='left' width='10'>Tam.</td> <td align='left' width='50'>Escola</td> </tr>"; $sqlCesta = "select count(ped.id), itm.descricao, tam.simbolo, lnv.preco_venda, cor.descricao, ped.data_pedido, ped.data_entrega, ped.tecido, cli.nome_cliente from erp_pedidos ped, erp_lancamento_valores lnv, alm_item itm, alm_unidade_grandeza tam, erp_cor cor, erp_cliente_indireto cli where (ped.data_pedido between '$novo_datai' and '$novo_dataf')and (ped.fechado='0')and (ped.id_lancamento_valor = lnv.id)and (itm.id_item = lnv.id_produto)and (tam.id = lnv.id_unidade_grandeza)and (cor.id = ped.id_cor) group by ped.id_lancamento_valor, ped.id_cor, lnv.id_unidade_grandeza, ped.tecido order by ped.id_lancamento_valor, ped.id_cor, lnv.id_unidade_grandeza, ped.tecido "; $lnCesta=$_SESSION['ADOCnn]->Execute("$sqlCesta"); if($lnCesta->RecordCount() != 0 ){ $class="odd"; while(!$lnCesta->EOF){ if($class == "odd"){$class="even";}else{$class="odd";} $quantidade = $lnCesta->fields[0]; $item = htmlentities(htmlspecialchars($lnCesta->fields[1])); $tamanho = htmlentities(htmlspecialchars($lnCesta->fields[2])); $cor = htmlentities(htmlspecialchars($lnCesta->fields[4])); $data_pedido = $lnCesta->fields[5]; $data_entrega = $lnCesta->fields[6]; $tecido = $lnCesta->fields[7]; $nome_cliente = htmlentities(htmlspecialchars($lnCesta->fields[8])); if($tecido=="1"){ $tecido = " - PV"; }else{ $tecido = ""; } echo"<tr class='$class'> <td align='left' >$quantidade</td> <td align='left' >$item $tecido</td> <td align='left' >$cor</td> <td align='left' >$tamanho</td> <td align='left' >$nome_cliente</td> </tr> "; $lnCesta->MoveNext(); } echo "</table>"; } } Edited September 21, 2011 by Adilson-Colabore Sistemas Quote Link to comment Share on other sites More sharing options...
0 Adilson-Colabore Sistemas Posted September 21, 2011 Author Report Share Posted September 21, 2011 Galera consegui resolver esse problema.Na parte onde continha a busca das informações do banco de dados, inclui mais um campo para buscar.Verifiquei se o valor original do banco era o mesmo do pedido.Se fosse o valor que estava no campo nome_cliente iria para variavel $nome_cliente.Ai esta como ficou:(tudo q alterei esta em negrito)<?php session_start();validaAcesso();#require_once("../admin/conexao.php");echo "<h2>Relatório ".$_SESSION["menu"]["rel"][4]."</h2>";?> <script type=text/javascript" src="css2/calendar/dhtmlgoodies_calendar.js"></script> <form method='POST' action='index.php?rel=4&cont=1' autocomplete='off'> <b>Data Inicial:</b> <input type="text" value="<?php echo date("d/m/Y"); ?>" readonly name="pdatai" id="pdatai" id="pdatai"> <img src="images/data.gif" border="0" style="cursor:hand;" onclick="displayCalendar(document.getElementById('pdatai'),'dd/mm/yyyy',this);"> <b>Data Final:</b> <input type="text" value="<?php echo date("d/m/Y"); ?>" readonly name="pdataf" id="pdataf" id="pdataf"> <img src="images/data.gif" border="0" style="cursor:hand;" onclick="displayCalendar(document.getElementById('pdataf'),'dd/mm/yyyy',this);"><br><br> <input type='submit' value='Gerar Estatística'> <div align='right'><a href="java script:void(0);" onclick="getLink('rel',100,false);"><img src='images/seta_voltar.gif' border='0'> voltar para Listagem de Relatórios</a></div> </form><?phpif($_GET["cont]==1){ $novo_datai=formataData($_POST["pdatai"], true); $novo_dataf=formataData($_POST["pdataf"], true); $novo_datai= "$novo_datai 00:00:00"; $novo_dataf= "$novo_dataf 23:59:59"; echo"<br /><table class=perfil2' width='100%'> <tr class='titulo'> <td align='left' width='5'>Qtde</td> <td align='left' width='200'>Descrição</td> <td align='left' width='20'>Cor</td> <td align='left' width='10'>Tam.</td> <td align='left' width='200'>Escola</td> // aqui mexi apenas para ajustar o tamanho dos campos </tr>"; $sqlCesta = "select count(ped.id), itm.descricao, tam.simbolo, lnv.preco_venda, cor.descricao, ped.data_pedido, ped.data_entrega, ped.tecido, cli.nome_cliente, cli.id_cliente_indireto from erp_pedidos ped, erp_lancamento_valores lnv, alm_item itm, alm_unidade_grandeza tam, erp_cor cor, erp_cliente_indireto cli where (ped.data_pedido between '$novo_datai' and '$novo_dataf')and (ped.fechado='0')and (ped.id_lancamento_valor = lnv.id)and (itm.id_item = lnv.id_produto)and (tam.id = lnv.id_unidade_grandeza)and (cor.id = ped.id_cor)and (cli.id_cliente_indireto = ped.id_cliente_indireto) group by ped.id_lancamento_valor, ped.id_cor, lnv.id_unidade_grandeza, ped.tecido order by ped.id_lancamento_valor, ped.id_cor, lnv.id_unidade_grandeza, ped.tecido "; $lnCesta=$_SESSION['ADOCnn]->Execute("$sqlCesta"); if($lnCesta->RecordCount() != 0 ){ $class="odd"; while(!$lnCesta->EOF){ if($class == "odd"){$class="even";}else{$class="odd";} $quantidade = $lnCesta->fields[0]; $item = htmlentities(htmlspecialchars($lnCesta->fields[1])); $tamanho = htmlentities(htmlspecialchars($lnCesta->fields[2])); $cor = htmlentities(htmlspecialchars($lnCesta->fields[4])); $data_pedido = $lnCesta->fields[5]; $data_entrega = $lnCesta->fields[6]; $tecido = $lnCesta->fields[7]; $nome_cliente = htmlentities(htmlspecialchars($lnCesta->fields[8])); $id_indireto = $lnCesta->fields[9]; if($tecido=="1"){ $tecido = " - PV"; }else{ $tecido = ""; } echo"<tr class='$class'> <td align='left' >$quantidade</td> <td align='left' >$item $tecido</td> <td align='left' >$cor</td> <td align='left' >$tamanho</td> <td align='left' >$nome_cliente</td> </tr> "; $lnCesta->MoveNext(); } echo "</table>"; } }Bom galera é isso ai.Post resolvido com resposta compartilhada!Até mais.... Quote Link to comment Share on other sites More sharing options...
Question
Adilson-Colabore Sistemas
Fala ai galera! Boa semana pra todos...=)
Mais probleminha pra vocês me ajudarem...
Tenho que fazer um relatorio de todos os produtos cadastrados em um certo periodo.
Para fazer o teste cadastrei alguns e marquei.
Quando foi gerado o relatorio era exibido da seguinte forma:
quando havia 1 produto era exibido 5
quando havia 2 produtos eram exibidos 10
quando havia 3 produtos eram exibidos 15
oque está acontecendo?
ai esta o script
Edited by Adilson-Colabore SistemasLink to comment
Share on other sites
1 answer to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.