Ir para conteúdo
Fórum Script Brasil
  • 0

Css com php e DomPDF


Thiago Nicolas

Pergunta

Estou gerando uma tabela com informações do banco de dados em PDF, porem no banco tem uma coluna chamada cores, onde armazena 3 cores como segue no código, estou conseguindo gerar o PDF, mas na coluna das cores não estou conseguindo associar a variavel $color na propriedade "background-color" da <td>, ou seja, preciso que as celular da coluna cores fiquem com as cores associada ao banco.

Na pagina Html eu consegui fazer mas aqui estou com dificuldades, destaquei a linha que estou com problemas. Estou usando o DomPDF.

Desde já, agradeço a ajuda.

 

<?php    

    include_once("conexao.php");
    $html = '<table border=1';    
    $html .= '<thead>';
    $html .= '<tr>';
    $html .= '<th>CORES</th>';
    $html .= '<th>BANCO</th>';
    $html .= '<th>STATUS ATUAL</th>';
    $html .= '<th>PENDÊNCIA</th>';
    $html .= '<th>PRÓXIMAS ATIVIDADES</th>';
    $html .= '<th>RESPONSÁVEL</th>';
    $html .= '<th>PREVISÃO</th>';
    $html .= '</tr>';
    $html .= '</thead>';
    $html .= '<tbody>';
    
    $result_transacoes = "SELECT * FROM tb_banco";
    $resultado_trasacoes = mysqli_query($conn, $result_transacoes);
    while($row_transacoes = mysqli_fetch_assoc($resultado_trasacoes)){

        $cor = $row_transacoes["cores"];
        if ($cor == "#008000") {
            $color = "green";             
        }else if ($cor == "#ff0000") {
            $color = "red"; 

        }else if ($cor == "#ffff00") {
            $color = "Yellow"; 
        }        

        $html .= '<tr><td style="width:60px; background-color="<?php echo $color;?>"'."</td>";
        $html .= '<td>'.$row_transacoes['banco'] . "</td>";
        $html .= '<td>'.$row_transacoes['status_atual'] . "</td>";
        $html .= '<td>'.$row_transacoes['pendencia'] . "</td>";
        $html .= '<td>'.$row_transacoes['atividade'] . "</td>";
        $html .= '<td>'.$row_transacoes['responsavel'] . "</td>";
        $html .= '<td>'.$row_transacoes['previsao'] . "</td></tr>";        
    }
    
    $html .= '</tbody>';
    $html .= '</table';

......

Editado por Thiago Nicolas
Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

O problema está nessa linha:

 $html .= '<tr><td style="width:60px; background-color="<?php echo $color;?>"'."</td>";

Esse é o velho problema das aspas simples e aspas duplas. Eu não sei como resolver.

A minha sugestão é imprimir tudo na tela, e depois mandar converter em PDF (no Microsoft Edge você pega a opção Imprimir > Salvar como PDF, configure o modo paisagem e pegar os elementos gráficos), com o seguinte código:

 

<?php    
$mysqli=new mysqli("localhost","root","","diario"); //usei os dados do meu servidor para testar o seu codigo
echo "<table border=1><tr><th>CORES<th>BANCO<th>STATUS ATUAL<th>PENDÊNCIA<th>PRÓXIMAS ATIVIDADES<th>RESPONSÁVEL<th>PREVISÃO";
$result_transacoes="SELECT * FROM tbdiario where docto>130 limit 10";
$resultado_transacoes=$mysqli->query($result_transacoes);
while($row_transacoes=$resultado_transacoes->fetch_assoc()){
	$cor = $row_transacoes["conta"];
    if ($cor<200) {$color = "green";}    // na minha tabela eu não tenho campo para cor, assim fiz uma gambiarra         
    if ($cor>200 and $cor<300) {$color = "red";}
	if ($cor>300) {$color = "Yellow";}  
	echo "<tr><td style=background:$color>";
    echo "<td>".$row_transacoes['docto'];
    echo "<td>".$row_transacoes['dia'];
    echo "<td>".$row_transacoes['conta'];
    echo "<td>".$row_transacoes['debito'];
    echo "<td>".$row_transacoes['credito'];
    echo "<td>".$row_transacoes['hist'];}
echo "</table>";
 

Estou mandando uma captura de tela da janela do Adobe Reader:

Sem título.png

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...