PHP

CakePHP: View to PDF

I was working on a system that needed generate a PDF report of a view, I solved it as follows:

function report_view() {
	...
	$this->render();
	require_once ('vendors/dompdf/dompdf_config.inc.php'); // import dompdf library
	$dompdf = new DOMPDF();
	$dompdf->load_html($this->output);
	$dompdf->set_paper("a4", "landscape" );
	$dompdf->render();
	$dompdf->stream('ReportExample_'.date('d_M_Y').'.pdf');
	exit(0);
}

You can see, that I used “$this->output” as parameter of load_html to get the output of the view.

I used the dompdf library.


Simplificación de código en PHP

Simplificar el código (en cualquier lenguaje de programación) ayuda no solo al rendimiento del programa, sino que también facilita la comprensión del mismo. (Claro que siempre debe ir acompañado de una buena documentación)

1) IF (estructura de control)

Varias Expresiones (ejemplo no simplificado)

if(isset($_GET['accion'])) {
     if($_GET['accion'] == 'agregar') { //Acción... }
}

Ejemplo simplificado

if(isset($_GET['accion']) && $_GET['accion'] == 'agregar') { //Acción... }

(continue reading…)


Paginación de resultados con Php y MySql

Ejemplo práctico de paginación de resultados en Php

<?php
mysql_connect("localhost", "root", "");
mysql_select_db("dev");
$noRegistros = 3; //Registros por página
$pagina = 1; //Por default, página = 1
if($_GET["pagina"]) //Si hay página por ?pagina=valor, lo asigna
    $pagina = $_GET["pagina"];
echo "Pagina: ".$pagina."<hr>";

//Utilizo el comando LIMIT para seleccionar registros
$sSQL = "SELECT * FROM alumnos LIMIT ".($pagina-1)*$noRegistros.",$noRegistros";
$result = mysql_query($sSQL) or die(mysql_error());
while($row = mysql_fetch_array($result)) { //Exploracion comun de registros
    echo $row["nombre"]."<br>";
}

//Imprimiendo páginas
$sSQL = "SELECT count(*) FROM alumnos"; //Cuento el total de registros
$result = mysql_query($sSQL);
$row = mysql_fetch_array($result);
$totalRegistros = $row["count(*)"]; //Almaceno el total en una variable

echo "<hr>Total registros: ".$totalRegistros.", Pagina: ";

$noPaginas = $totalRegistros/$noRegistros; //Determino la cantidad de páginas
for($i=1; $i<$noPaginas+1; $i++) { //Imprimo las páginas
    if($i == $pagina)
        echo "$i "; //A la página actual no le pongo link
    else
        echo "<a href=\"?pagina=".$i."\">".$i."</a> ";
}
?>

  • Categorías

  • Wiki


  • Twitter

  • Copyright © 2009-2011 nafiux.com Blog. All rights reserved.
    iDream theme by Templates Next | Powered by WordPress