14777 visitas 0 respuestas

Generar Reportes con Tablas en pdf con php y mysql

Hola saludos compañeros, estoy generando reportes pdf de un formulario hecho en una tabla, y estoy ayudandome con un tutorial de este blog http://blog.unijimpe.net/generar-pdf-con-php-y-mysql/ con la clase class.ezpdf.php para generar pdf, pero en el ejemplo se trabaja con un arreglo y no puedo colocar los atributos de la tabla como el tamaño y las celdas que tienen filas y columnas unas dentro de otra yo quiero mostrar la tabla de los resultados cono esta en la tabla y de paso lo que esta en las opciones tengo que mostrar una x en cada opcion marcada ya que en la BD se guarda una B si es buena, una R si es regular, M si es malo, pero de eso es lo de menos ya que buscaria como solucionarlo en otro lado. Lo cierto es como podria mostrar la tabla tal cual como esta en el formulario con los resultados. He estado trabajando con este codigo, pero estoy luchando:

<?php 

require_once('class.ezpdf.php'); $pdf = new Cezpdf('a4'); $pdf->selectFont('../fonts/courier.afm'); $pdf->ezSetCmMargins(1,1,1,1);

$conexion = mysql_connect("localhost", "root", ""); mysql_select_db("unidades",$conexion); $consulta = "SELECT * FROM identificacion WHERE unidad";

$tabla=mysql_query($consulta,$conexion)or die( "Error en consulta: $consulta, error: " . mysql_error() );

while($datos= mysql_fetch_assoc($tabla)) {

$titles = array( echo "

";
echo "<tr>"; 
       "<td width=\"839\" valign=\"top\"><p align=\"center\">PARTES Y SISTEMAS A REVISAR </p></td>"; 
echo "</tr>"; 
echo "<tr>"; 
  echo "<td width=\"248\" rowspan=\"2\">PARTES</span></td>"; 
  echo "<td colspan="4"\\><div align="center"\\>ESTADO ACTUAL</div></td>": 
  echo "<td width="248"\\>PARTES</span></td>"; 
  echo "<td colspan="4"\\><div align="center"\\>ESTADO ACTUAL</div></td>"; 
echo "</tr>"; 
echo "<tr>"; 
  echo "<td width="34"\\ ><div align="center"\\>B</div></td>"; 
  echo "<td width="34"\\ ><div align="center"\\>R</div></td>"; 
  echo "<td width="34"\\ ><div align="center"\\>M</div></td>"; 
  echo "<td width="34"\\ ><div align="center"\\>NT</div></td>"; 
  echo "<td width="34"\\ ><div align="center"\\>B</div></td>"; 
  echo "<td width="34"\\ ><div align="center"\\>R</div></td>"; 
  echo "<td width="34"\\ ><div align="center"\\>M</div></td>"; 
  echo "<td width="34"\\ ><div align="center"\\>NT</div></td>"; 
echo "</tr>"; 
echo "<tr>"; 
  echo "<td width="248"\\ ><div align="left"\\>Alternador </div></td>"; 
  echo "<td ><div align="left"\\>".datos['alternador']."</div></td>"; 
  echo "<td ><div align="left"\\>".datos['alternador']."</div></td>"; 
  echo "<td ><div align="left"\\>".datos['alternador']."</div></td>"; 
  echo "<td ><div align="left"\\>".datos['alternador']."</div></td>"; 
  echo "<td width="248"\\ ><div align="left"\\>Gomas de puertas </div></td>"; 
  echo "<td ><div align="left"\\>".datos['amortiguadel']."</div></td>"; 
  echo "<td ><div align="left"\\>".datos['amortiguadel']."</div></td>"; 
  echo "<td ><div align="left"\\>".datos['amortiguadel']."</div></td>"; 
  echo "<td ><div align="left"\\>".datos['amortiguadel']."</div></td>"; 
echo "</tr>"; 
echo "<tr>"; 
  echo "<td width="248"\\ ><div align="left"\\>Amortiguadores Delanteros </div></td>"; 
  echo "<td ><div align="left"\\>".datos['amortiguadel']."</div></td>"; 
  echo "<td ><div align="left"\\>".datos['amortiguadel']."</div></td>"; 
  echo "<td ><div align="left"\\>".datos['amortiguadel']."</div></td>"; 
  echo "<td ><div align="left"\\>".datos['amortiguadel']."</div></td>"; 
  echo "<td width="248"\\ ><div align="left"\\>Gomas de vidrios y ventanas </div></td>"; 
  echo "<td ><div align="left"\\>".datos['gomaviven']."</div></td>"; 
  echo "<td ><div align="left"\\>".datos['gomaviven']."</div></td>"; 
  echo "<td ><div align="left"\\>".datos['gomaviven']."</div></td>"; 
  echo "<td ><div align="left"\\>".datos['gomaviven']."</div></td>"; 
echo "</tr>"; 
echo "<tr>"; 
  echo "<td width="248"\\ ><div align="left"\\>Amortiguadores Traseros </div></td>"; 
  echo "<td ><div align="left"\\>".datos['amortiguatra']."</div></td>"; 
  echo "<td ><div align="left"\\>".datos['amortiguatra']."</div></td>"; 
  echo "<td ><div align="left"\\>".datos['amortiguatra']."</div></td>"; 
  echo "<td ><div align="left"\\>".datos['amortiguatra']."</div></td>"; 
  echo "<td width="248" ><div align="left">Instrumentación en tablero </div></td>"; 
  echo "<td ><div align="left"\\>".datos['instrumunta']."</div></td>"; 
  echo "<td ><div align="left"\\>".datos['instrumenta']."</div></td>"; 
  echo "<td ><div align="left"\\>".datos['instrumenta']."</div></td>"; 
  echo "<td ><div align="left"\\>".datos['instrumenta']."</div></td>"; 
echo "</tr>"; 
echo "<tr bgcolor=\"#d3dfee\">"; 
echo "<td colspan=\"10\"><div align=\"center\">"; 
  echo  "<p>KILOMETRAJE</p>"; 
  echo  "<p>OBSERVACIONES</p>"; 
  echo  "<p>&nbsp;</p>"; 
  echo  "<p>&nbsp;</p>"; 
  echo  "<p align=\"left\">UNIDAD REVISADA POR:</p>"; 
  echo  "<p align=\"left\">&nbsp;</p>"; 
  echo  "<p align=\"left\">NOMBRE:</p>"; 
  echo  "<p align=\"left\">C.I.:</p>"; 
  echo  "<p align=\"left\">DEPARTAMENTO:</p>"; 
  echo  "<p align=\"left\">REALIZADO POR:</p>"; 
  echo  "<p align=\"left\">&nbsp;</p>"; 
echo "</div></td>"; 
echo "</tr>"; 

echo "

"; );

$options = array(

            'xOrientation'=>'center', 
            'width'=>283 
        ); 

$txttit = "INFORMACION DE LA UNIDAD\n";

} $pdf->ezText($txttit, 12); $pdf->ezTable($datos, $titles, '', $options); $pdf->ezText("\n\n\n", 10); $pdf->ezStream(); ?>

Este codigo estoy usando una pequeña parte del formulario para que no sea ta extensivo y se pueda enteder

El problema es como yo ordeno esto para que me pueda mostrar los resultados en la tabla tal cual como se mostraba en el formulario. He estado chequeando varios temas de aqui en el foro y muy pocos coinciden en algo, y he analizado el FPDF pero no encuentro ejemplos con tablas mas extensas o algo parecido, en esta pagina tengo el formulario mas completo, para que vean como es en realidad revisen esto http://www.freewebs.com/djkelvim/codigos2.htm, disculpen que se vean las variables y otros elementos pero este hosting no admite php, pero es para que vean la realidad del formulario.

De Antemano le agradeceria el que me pueda hechar una mano en esto.

Saludos desde Venezuela!!!

Respuestas

No existen respuestas para este tema

o busca en nuestros foros