3
I’m doing a work where I have to generate a PDF by mPDF and it generates correctly, but from the moment I add header or footer, it stops working and does not generate the PDF, the goal was to add paging to the footer, since it is one of the requested requirements I have already looked for other alternatives on the internet and are all based on the same, can you help me ? Below I leave the code.
<?php
include("pdf/mpdf.php");
$servidor = "localhost"; $user = "root"; $password = ""; $database = "relatorios"; $idrelatorio = $_GET["idrelatorio"]; $con = mysqli_connect($servidor, $user, $password, $database);
$sql = "SELECT * FROM `relatorios` WHERE `id_relatorio`=" . $idrelatorio; $result = mysqli_query($con, $sql);
$pagina = "
<h2>Relatório Dinâmico</h2>";
while ($row = mysqli_fetch_array($result)) {
$id_categoria = $row["id_categoria"];
$data_inicio = $row["data_inicial"];
$data_fim = $row["data_final"];
if ($row["id_categoria"] == 1) {
$categoria = "Batismos";
} else if ($row["id_categoria"] == 2) {
$categoria = "Catecúmenos";
} else if ($row["id_categoria"] == 3) {
$categoria = "Óbitos";
} else if ($row["id_categoria"] == 4) {
$categoria = "Crismas";
} else if ($row["id_categoria"] == 5) {
$categoria = "Catequese";
} else if ($row["id_categoria"] == 6) {
$categoria = "Documentos";
} else if ($row["id_categoria"] == 7) {
$categoria = "Famílias";
} else if ($row["id_categoria"] == 8) {
$categoria = "Intenções de Missa";
} else if ($row["id_categoria"] == 9) {
$categoria = "Paroquianos";
} else if ($row["id_categoria"] == 10) {
$categoria = "Casamentos";
}
$pagina .= "
Categoria: " . $categoria . "<br>
Nome: " . $row['nome'] . "<br>
Descrição: " . $row['descricao'] . "<br>"; }
$sqldadoscampos = "SELECT `NomeCampo`,`SQLCampo` FROM `relatoriodinamicocampos` rdc, `campos_categorias` c WHERE rdc.`idRelatorio`=" . $idrelatorio . " and rdc.`idCampo`=c.`idCampo`"; $resultdadoscampos = mysqli_query($con, $sqldadoscampos); $sqlultimo = "SELECT ";
$arrayCamposDescricao = array(); $arrayCamposValue = array();
while ($row = mysqli_fetch_array($resultdadoscampos)) {
$sqlultimo .= " `" . $row["SQLCampo"] . "` ,";
$arrayCamposDescricao[] = $row["NomeCampo"];
$arrayCamposValue[] = $row["SQLCampo"]; }
$sqlultimo = substr($sqlultimo, 0, -1);
if ($id_categoria == 1) {
$sqlultimo .= " FROM `baptisms` WHERE 1 and `baptism_date` BETWEEN '" . $data_inicio . "' and '" . $data_fim . "'"; } else if ($id_categoria == 2) {
$sqlultimo .= " FROM `catechumens` WHERE 1 and `data_catecumenatos` BETWEEN '" . $data_inicio . "' and '" . $data_fim . "'"; } else if ($id_categoria == 3) {
$sqlultimo .= " FROM `deaths` WHERE 1 and `data_catecumenatos` BETWEEN '" . $data_inicio . "' and '" . $data_fim . "'"; } else if ($id_categoria == 4) {
$sqlultimo .= " FROM `chrisms` cs, `chrisms_entities` ce WHERE cs.`id_crismas`=ce.`id_crismas` and `data_crisma` BETWEEN '" . $data_inicio . "' and '" . $data_fim . "'"; } else if ($id_categoria
== 5) {
$sqlultimo .= " FROM `catechisms` c,`catechisms_student` cs WHERE c.`id_catequese`=cs.`id_catequese` and `inscription_date` BETWEEN '" . $data_inicio . "' and '" . $data_fim . "'"; } else if ($id_categoria
== 6) {
$sqlultimo .= " FROM `documents` WHERE 1"; } else if ($id_categoria == 7) {
$sqlultimo .= " FROM `families` f,`families_persons` fp WHERE f.`id_familias`=fp.`id_familias` and `creation_date` BETWEEN '" . $data_inicio . "' and '" . $data_fim . "'"; } else if ($id_categoria
== 8) {
$sqlultimo .= " FROM `mass_intentions` WHERE 1 and `intention_date` BETWEEN '" . $data_inicio . "' and '" . $data_fim . "'"; } else if ($id_categoria == 9) {
$sqlultimo .= " FROM `parishioners` WHERE 1 and `birthdate` BETWEEN '" . $data_inicio . "' and '" . $data_fim . "'"; } else if ($id_categoria == 10) {
$sqlultimo .= " FROM `weddings` WHERE 1 and `wedding_date` BETWEEN '" . $data_inicio . "' and '" . $data_fim . "'"; }
$pagina .= "<br/><br/>"; $resultdadosutlimocampos = mysqli_query($con, $sqlultimo); while ($row = mysqli_fetch_array($resultdadosutlimocampos)) {
$cont = 0;
foreach ($arrayCamposValue as $result) {
$pagina .= "<div><b>" . $arrayCamposDescricao[$cont] . ":</b> " . $row[$result] . "</div>";
$cont++;
}
$pagina .= "<br/><br/>"; }
$mpdf = new mPDF('', '', '', '', 30, 30, 40, 50);
$mpdf->SetHTMLHeader('<div>LDS</div>');
$footer = "<table width=\"1000\">
<tr>
<td style='font-size: 18px; padding-bottom: 20px;' align=\"right\">{PAGENO}</td>
</tr>
</table>";
$mpdf->SetHTMLFooter($footer);
$mpdf->WriteHTML($pagina); $mpdf->Output();
exit; ?>
If I don’t have "Sethtmlfooter" and "Sethtmlheader" works well, from the moment I add these lines it stops working.
I in the example above am already doing as this example that showed me and does not work...
– Sofs