Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Boa Tarde, a todos
Estou fazendo um relatório que traz em uma pagina web um relatório para ser impresso, mas estou tendo um problema de desempenho para trazer os dados para a pagina web.
Tenho uma consulta onde traz todos os ID dos funcionários e salvo cada um deste resultado em um Array. E com esses IDs salvo em um array eu faço um loop e dentro faço um select filtrando cada ID de funcionário onde neste select traz as informações de cada um dos funcionário, mas estou com problema nesse select dentro do loop, pois demora quase 2 min para finalizar todas as consultas e trazer as informações na pagina são mais de 130 consulta que faz.
Pensei em alguns modos de salvar os os todos dados em array com a penas um select mas não consigo filtra por ID.
$selRE = "SELECT * FROM(SELECT DISTINCT RE, NOME FROM ENG_REL_EPIS
WHERE to_date(DATA,'DD/MM/YY') BETWEEN to_date('$dataIni','DD-MM-YY') AND to_date('$dataFim','DD-MM-YY')
) ORDER BY NOME ASC
";
$parse2 = oci_parse($conn,$selRE);
oci_execute($parse2);
while($fetch2=oci_fetch_assoc($parse2)) {
$re2[] = $fetch2['RE'];
}
$cnt = count($re2);
$i = 0;
while($i < $cnt ){
$select = "SELECT DISTINCT CA,PRODUTO,DESCRICAO,DATA,RE,NOME,QTD FROM ENG_REL_EPIS
WHERE to_date(DATA,'DD/MM/YY') BETWEEN to_date('$dataIni','DD-MM-YY') AND to_date('$dataFim','DD-MM-YY')
AND RE ='$re2[$i]'
ORDER BY DATA ASC";
// echo $select."<br>";
$parse=oci_parse($conn,$select);
oci_execute($parse);
$fetch=oci_fetch_array($parse);
echo "
<div class='tamanho'>
<br>
<!-- ============== BEGIN CABEÇALHO ==================-->
<div class='row borda'>
<div class='col-sm-4'>
<img src='./../../img/logo_p.png' alt='some text' class='logo'>
</div>
<div class='col-sm borda_esquerda titulo2'>
Ficha de Registro de Entrega de Equipamentos de Proteção Individual
</div>
</div>
<br>
<div class='row borda titulo'>
<div class='col'>
PERÍODO: $dataIni a $dataFim
</div>
</div>
<br>
<div class='row borda_esquerda_direita_top titulo'>
<div class='col'>
PRODUTOS
</div>
</div>
<div class='row titulo'>
<div class='col-2 borda_top_esquerda'>
Data
</div>
<div class='col-2 borda_top_esquerda'>
Código
</div>
<div class='col-1 borda_top_esquerda'>
Qtd
</div>
<div class='col-1 borda_top_esquerda'>
CA
</div>
<div class='col borda_esquerda_direita_top'>
Descrição
</div>
</div>
";
do{
$DATA = date('d/m/Y', strtotime($fetch["DATA"]));
$PRODUTO = $fetch["PRODUTO"];
$QTD = $fetch["QTD"];
$CA = $fetch["CA"];
$DESCRICAO = mb_strimwidth($fetch["DESCRICAO"], 0, 48, "...");
$RE = $fetch["RE"];
$NOME = $fetch["NOME"];
echo "
<div class='row conteudo'>
<div class='col-2 borda_top_esquerda'>
$DATA
</div>
<div class='col-2 borda_top_esquerda'>
$PRODUTO
</div>
<div class='col-1 borda_top_esquerda'>
$QTD
</div>
<div class='col-1 borda_top_esquerda'>
$CA
</div>
<div class='col borda_esquerda_direita_top'>
$DESCRICAO
</div>
</div>
";
}while($fetch=oci_fetch_array($parse));
echo "
<div class='row borda_top'>
</div>
<div class='row borda_esquerda_direita_top'>
<div class='texto'>
Eu $NOME, R.E. $RE. De acordo com as normas regulamentadoras (N.R.) 1.7 e 6.1, declaro e confirmo que recebi da
Engemet Metalurgia e Comercio Ltda os Equipamentos de Proteção Individual necessários à minha função, discriminados
e assinados por mim, abaixo. Afirmo ainda ter ciência da obrigatoriedade do bom uso e conservação destes, bem como a
instrução devida para o uso correto.
</div>
<br>
</div>
<div class='row '>
<div class='col borda_esquerda_direita_baixo'>
<div class='titulo'>
$data
<br>
<br>
</div>
</div>
</div>
<div class='row'>
<div class='col'>
<div class='titulo'>
<br><br><br>
Assinatura:_____________________________________________________________
</div>
</div>
</div>
</div>
<p style='page-break-before:always'></p>
";
$i++;
oci_free_statement($parse);
}Carregando comentários...