Ir para conteúdo

POWERED BY:

Arquivado

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

Lucas Vida

[Resolvido] Atribuir os valores de um While a uma variável.

Recommended Posts

Bom dia amigos,

 

Em pleno sábado eu programando de madrugada...rsrsrs. Bom, não sei se é possível, mas preciso pegar os valores gerados por um WHILE e atribuir os mesmo a uma variável. Estou tendo a necessidade de gerar relatórios em PDF, sendo assim estou seguindo esse tuto do nosso amigo Igor ( http://imasters.com.br/artigo/10394/php/convertendo_html_para_pdf_em_php/ ). Achei bem interessante o DOMPDF pelo fato dele processar o HTML. Caso vocês tenham sugestões melhores para gerar aquivos em PDF eu agradeceria.

 

Segue meu Cod:

 

<?php
	include("../includes/valida_login.inc");
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>.:: Gerar Relatório ::.</title>
<link href="../css/style.css" rel="stylesheet" type="text/css" />
<style>
.style2 {
	font-size:14;
	font-weight:bold;
	color:#3366CC;
}
</style>
</head>
<body>
<?php
		$dia_hoje = $_GET['dia'];
		$mes_hoje = $_GET['mes'];
		$id_user = $_GET['id_user'];
		include ("../conexao/conecta.inc");
        $sql = mysql_query("SELECT * FROM atendimentos WHERE dia = $dia_hoje AND 
		                   mes = $mes_hoje AND id_user = $id_user");
   						
						while ($dados = mysql_fetch_array($sql)) {
       				          "
							  <div id='resultados'>
						      <div id='numero_atendimento'>
						      <b>
							  $dados[id_atendimento]</b>
							  </div>
		 <span class='style2'>Nome:</span>
							  $dados[nome]<br />
	     <span class='style2'>Assunto:</span>
							  $dados[assunto]<br />
	     <span class='style2'>Empresa:</span>
							  $dados[empresa]<br />
		 <span class='style2'>Setor:</span>
							  $dados[setor_responsavel]<br />
		 <span class='style2'>Situação:</span>
							  $dados[situacao]<br />
		 <span class='style2'>Descrição:</span>
							  $dados[descricao]<br />
							  </div>
							  </div>
							  ";
   						 }
				   
				   mysql_close($conexao);
				
?>
<?php				
     require_once("../includes/dompdf/dompdf_config.inc.php");
      
     $dompdf = new DOMPDF();
     $dompdf->load_html($sql);
     $dompdf->set_paper('a4');
     $dompdf->render();
     $dompdf->stream('Relatorio_de_Atendimento['.$dia_hoje.$mes_hoje.'].pdf');
?>
</body>
</html>

PS: Desculpem a falta de identação. Assim que conseguir fazer ele funcionar vou organizar melhor.

 

Muito obrigado e bom FDS.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Como assim? Qual while?

 

Este?

while ($dados = mysql_fetch_array($sql)) {
Se sim, você ja ta pegando os dados, basta:

echo $dados['nome_da_coluna'];

Ou caso você queira "guardar":

$arrDados[] = $dados;
Quando o while terminar, todos os registros estarão em $arrDados

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fala Xará,

 

Muito obrigado pela ajuda, realmente já deu uma luz....Seria esse

While mesmo, só que ainda não estou conseguindo gerar o PDF da

maneira correta. Queria apenas receber o valor da consulta para

poder gerar o pdf.Sendo assim estou fazendo da seguinte forma:

 

<?php ...

     while ($dados = mysql_fetch_array($sql)) {
           echo  "<div id='resultados'>
             <div id='numero_atendimento'>
                <b>$dados[id_atendimento]</b>
             </div>
     //Restante do conteúdo a ser puxado do BD.";
}

mysql_close($conexao);
      $arrDados[] = $dados;
           $html = '$arrDados'; 				   							
?>
<?php				
     require_once("../includes/dompdf/dompdf_config.inc.php");
      
     $dompdf = new DOMPDF();
     $dompdf->load_html($html);
     $dompdf->set_paper('a4');
     $dompdf->render();
     $dompdf->stream('Relatorio_de_Atendimento['.$dia_hoje.$mes_hoje.'].pdf');
?>

Neste caso ele gera a página da forma que eu quero receber o conteúdo,

porém imprime na tela e ao final do script(página) da seguinte mensagem:

 

"Unable to stream pdf: headers already sent"

 

Mais uma vez muito obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites
<?php ...

$html = "<div id='resultados'>";

while ($dados = mysql_fetch_array($sql)) {
   $html .= 
       "<div class='numero_atendimento'>
            <b>$dados[id_atendimento]</b>
        </div>";
}

$html .= "</div>";

mysql_close($conexao);

require_once("../includes/dompdf/dompdf_config.inc.php");

$dompdf = new DOMPDF();
$dompdf->load_html($html);
$dompdf->set_paper('a4');
$dompdf->render();
$dompdf->stream('Relatorio_de_Atendimento['.$dia_hoje.$mes_hoje.'].pdf');
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa Noite Jaime,

 

Muito obrigado pela dica,

 

Agora sim consegui fazer do jeito que eu nescessitava!

 

Brigadaum mesmo!

 

Abs e bom domingo!

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.