Todos conhecem a classe FPDF. Pois bem, tenho que criar uma segunda classe com as funções Header() e Footer() (MeuPDF) e uma classe para gerar um relatorio (relatorio.php). Porem não consigo fazer ele gerar o relatorio como uma classe, apenas com um arquivo comum. Caso eu tente passa-lo para classe aparece o erro Parse error: parse error, expecting `T_FUNCTION' in H:\TCC\relatorio.php on line 8. Tenho que passar tupo para funções? Como?
Abaixo meus arquivos.
MeuPDF.php
<?php
define('FPDF_FONTPATH','rotinas/fpdf16/font/');
require('rotinas/fpdf16/fpdf.php');
class MeuPDF extends FPDF
{
//Page header
function Header()
{
//Logo
$this->Image('image/logo_pb.gif',10,5,50);
//Arial bold 15
$this->SetFont('Arial','B',15);
//Move to the right
$this->Cell(100);
//Title
$this->Cell(30,10,'Relatório de Atendimentos Loja SULINFO',0,0,'C');
//Line break
$this->Ln(20);
$this->SetTextColor(0,0,102);
$this->Cell(0,1,'',1,0,'L');
}
//Page footer
function Footer()
{
//Position at 1.5 cm from bottom
$this->SetY(-15);
//Arial italic 8
$this->SetFont('Arial','I',8);
//Page number
$this->SetTextColor(0,0,102);
$this->Cell(0,1,'',1,0,'L');
$this->Ln(0);
$this->Cell(0,10,'Página '.$this->PageNo(),0,0,'L');
$this->Ln(0);
$this->SetY(-10);
$this->Cell(0,10,'SULINFO Soluções em Softwares - Santo Antônio da Patrulha - RS. Fone (51) 9757.3045',0,0,'L');
}
}
?>
relatorio.php
<?php
require('MeuPDF.php');
if (isset($_POST['envia'])){
if ($_POST['mes'] == 13) {
$where = "where data_atendimento like '".$_POST['ano']."-%-%'";
}
elseif ($_POST['ano'] == 13) {
$where = "where data_atendimento like '%-".$_POST['mes']."-%'";
}
else {
$where = "where data_atendimento like '".$_POST['ano']."-".$_POST['mes']."-%'";
}
// bd funções para se conectar no banco de dados
$conexao = mysql_connect("localhost","root","");
if (!$conexao) echo "Não foi possível conectar ao MySQL <br />";
if (!mysql_select_db("sulinfo",$conexao)) echo "Não foi possível selecionar o banco <br />";
// busca os dados no banco de dados
$busca = mysql_query("select a.id_atendimento,c.nome as cliente, case when (p.nome is NULL or p.nome='') then '-' else p.nome end as produto, case when (s.nome is NULL or s.nome='') then '-' else s.nome end as servico, f.nome as funcionario, date_format(data_atendimento, '%d/%m/%Y') as data_atendimento, case when (p.valor is NULL or p.valor='') then '-' else p.valor end as valor_produto, case when (s.valor is NULL or s.valor='') then '-' else s.valor end as valor_servico from atendimentos a join clientes c on (c.id_cliente = a.id_cliente) left join produtos p on (p.id_produto = a.id_produto) left join servicos s on (s.id_servico = a.id_servico) left join funcionarios f on (f.id_funcionario = a.id_funcionario)".$where."");
mysql_set_charset("utf8");
if ((mysql_num_rows($busca))!=0){
$pdf = new MeuPDF();
$pdf->SetDrawColor(0,0,0);
$pdf->SetLineWidth(.5);
$pdf->Open();
$pdf->setAuthor('SulInfo');
$pdf->setTitle('Relatório de Atendimentos da Loja SulInfo');
$pdf->AddPage();
//Page header
$pdf->SetFont('Arial', 'B', 9);
$pdf->Ln(0);
$pdf->SetY(35);
$pdf->Cell(7);
$pdf->Cell(22, 5, 'Atendimento', 1, 0, 'C');
$pdf->Cell(50, 5, 'Nome', 1, 0, 'C');
$pdf->Cell(15, 5, 'Total', 1, 0, 'C');
$pdf->Cell(70, 5, 'Funcionário', 1, 0, 'C');
$pdf->Cell(20, 5, 'Data', 1, 0, 'C');
while ($resultado = mysql_fetch_array($busca)) {
$func = utf8_decode($resultado['funcionario']);
$cliente = utf8_decode($resultado['cliente']);
$total = "R$ ".($resultado['valor_produto'] + $resultado['valor_servico']);
$pdf->ln();
$pdf->Cell(7);
$pdf->Cell(22, 5, $resultado['id_atendimento'], 1, 0, 'C');
$pdf->Cell(50, 5, $cliente, 1, 0, 'C');
$pdf->Cell(15, 5, $total, 1, 0, 'C');
$pdf->Cell(70, 5, $func, 1, 0, 'C');
$pdf->Cell(20, 5, $resultado['data_atendimento'], 1, 0, 'C');
}
$pdf->Output();
mysql_close($conexao);
}
else {
echo "<center style='font-weight: bold; color:red; font-size: 13pt; font-family: Arial,serif;'>Não existe registro para a busca</center><br>";
echo "<center><input type='button' onClick='java script:history.go(-1)' value='Voltar'></center>";
}
}
?>
Pergunta
AndréSAP
Todos conhecem a classe FPDF. Pois bem, tenho que criar uma segunda classe com as funções Header() e Footer() (MeuPDF) e uma classe para gerar um relatorio (relatorio.php). Porem não consigo fazer ele gerar o relatorio como uma classe, apenas com um arquivo comum. Caso eu tente passa-lo para classe aparece o erro Parse error: parse error, expecting `T_FUNCTION' in H:\TCC\relatorio.php on line 8. Tenho que passar tupo para funções? Como?
Abaixo meus arquivos.
MeuPDF.php
relatorio.phpQualquer ajuda será bem-vinda.
Link para o comentário
Compartilhar em outros sites
4 respostass a esta questão
Posts Recomendados
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.