Foros del Web » Programando para Internet » PHP »

Recorrer tabla html para reporte en fpdf

Estas en el tema de Recorrer tabla html para reporte en fpdf en el foro de PHP en Foros del Web. Hola amigos soy nueva en este foro, estoy haciendo una web en la que necesito generar un archivo pdf de un formulario, esto lo hago ...
  #1 (permalink)  
Antiguo 05/07/2014, 14:16
 
Fecha de Ingreso: julio-2014
Mensajes: 6
Antigüedad: 9 años, 9 meses
Puntos: 0
Recorrer tabla html para reporte en fpdf

Hola amigos soy nueva en este foro, estoy haciendo una web en la que necesito generar un archivo pdf de un formulario, esto lo hago con la libreria fpdf, mi problema radica en que tengo una tabla html a la cual le puedo agregar filas con un codigo jquery, necesito recorrer esa tabla para agregarla a mi pdf y no se como hacerlo, les agradeceria una ayudita que pueda guiarme y gracias de antemano
  #2 (permalink)  
Antiguo 05/07/2014, 16:28
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Recorrer tabla html para reporte en fpdf

Imagino que debes tener un formulario para ir llenando los datos de la tabla, solo necesitarías enviarlo, de preferencia, por método post.

Sin ver tu código va a ser difícil sugerir alguna otra cosa.
__________________
- León, Guanajuato
- GV-Foto
  #3 (permalink)  
Antiguo 06/07/2014, 19:57
 
Fecha de Ingreso: agosto-2013
Ubicación: Guatemala
Mensajes: 137
Antigüedad: 10 años, 8 meses
Puntos: 4
Respuesta: Recorrer tabla html para reporte en fpdf

Tu tabla dinámica generada por jQuery guarda los datos en una BD o simplemente los muestra? ya que para generar un reporte con FPDF tenes que tener guardados los datos en una BD para despues mostrarlos mediante consultas.
  #4 (permalink)  
Antiguo 07/07/2014, 18:30
 
Fecha de Ingreso: julio-2014
Mensajes: 6
Antigüedad: 9 años, 9 meses
Puntos: 0
Hola oscurogt veras mi pdf se genera con la info del formulario sin guardarse en la base de datos, recojo los valores con metodo post

Este es mi codigo html

Código HTML:
Ver original
  1. <form method="post" action="pdf.php">
  2.  
  3.     <table id="tabla">
  4.     <!-- Cabecera de la tabla -->
  5.     <thead>
  6.         <tr>
  7.             <th>Fecha Solicitada</th>
  8.             <th>Hora</th>
  9.             <th>Turno</th>
  10.             <th>&nbsp;</th>
  11.         </tr>
  12.     </thead>
  13.  
  14.     <!-- Cuerpo de la tabla con los campos -->
  15.     <tbody>
  16.  
  17.         <!-- fila base para clonar y agregar al final -->
  18.         <tr class="fila-base">
  19.             <td><input type="text" class="Fecha Solicitada" /></td>
  20.             <td><input type="text" class="Hora" /></td>
  21.             <td>
  22.                 <select class="Turno">
  23.                     <option value="0">- Turno -</option>
  24.                     <option value="M">Matutino</option>
  25.                     <option value="F">Nocturno</option>
  26.                 </select>
  27.             </td>
  28.             <td class="eliminar">Eliminar</td>
  29.         </tr>
  30.         <!-- fin de código: fila base -->
  31.  
  32.     </tbody>
  33. <!-- Botón para agregar filas -->
  34. <input type="button" id="agregar" value="Agregar fila" />
  35.  
  36. </form>


Y este es mi codigo php usando la libreria fpdf, este codigo es para una tabla de 3 filas pero yo quiero q se pueda recorrer la tabla para poder agregar las filas q necesite sin restriccion

Código PHP:
Ver original
  1. <?php
  2. include ('../fpdf/fpdf.php');
  3.  
  4. /* funcion para crear tabla */
  5. class PDF extends FPDF
  6.         {
  7.             function cabeceraHorizontal($cabecera)
  8.             {
  9.                 $this->SetXY(25, 145);
  10.                 $this->SetFont('Arial','',12);
  11.                 foreach($cabecera as $fila)
  12.                 {
  13.                     //Atención!! el parámetro valor 0, hace que sea horizontal
  14.                     $this->Cell(40,7, utf8_decode($fila),1, 0 , 'L' );
  15.                 }
  16.             }
  17.  
  18.             function datosHorizontal($datos)
  19.             {
  20.                
  21.                 $this->SetFont('Arial','',12);
  22.                 $alt = 152;
  23.                 foreach($datos as $fila)
  24.                 {
  25.                     $this->SetXY(25,$alt );
  26.                     $this->Cell(40,7, utf8_decode($fila['Fecha Solicitada']),1, 0 , 'L' );
  27.                     $this->Cell(40,7, utf8_decode($fila['Hora']),1, 0 , 'L' );
  28.                     $this->Cell(40,7, utf8_decode($fila['Turno']),1, 0 , 'L' );
  29.                     $this->Ln();//Salto de línea para generar otra fila
  30.                     $alt += 7;
  31.                 }
  32.             }
  33.            
  34.             //Integrando cabecera y datos en un solo método
  35.             function tablaHorizontal($cabeceraHorizontal, $datosHorizontal)
  36.             {
  37.                 $this->cabeceraHorizontal($cabeceraHorizontal);
  38.                 $this->datosHorizontal($datosHorizontal);
  39.             }
  40.         }
  41.        
  42. /* tenemos que generar una instancia de la clase */
  43.         $pdf = new PDF();
  44.         $pdf->AddPage();
  45.        
  46. /* cabecera y datos de la tabla */
  47.         $miCabecera = array('Fecha Solicitada', 'Horario de', 'Horario a');
  48.         $misDatos = array(
  49.         array('Fecha Solicitada' => $_POST["fechasol1"], 'Hora' => $_POST["hora"], 'Turno' => $_POST["turno"]),
  50.         array('Fecha Solicitada' => $_POST["fechasol2"], 'Hora' => $_POST["hora2"], 'Turno' => $_POST["turno2"]),
  51.         array('Fecha Solicitada' => $_POST["fechasol2"], 'Hora' => $_POST["hora2"], 'Turno' => $_POST["turno2"]),
  52.                     );
  53.         $pdf->tablaHorizontal($miCabecera, $misDatos);
  54. $pdf->Output();
  55.         exit;
  56.     ?>

Última edición por Triby; 07/07/2014 a las 19:38 Razón: Combinar mensajes seguidos y código en highlight
  #5 (permalink)  
Antiguo 07/07/2014, 19:41
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Recorrer tabla html para reporte en fpdf

Ninguno de los campos tiene atributo name, por lo que no sé que es lo que puedas recibir al procesar; eso puedes verificarlo con:

Código PHP:
Ver original
  1. var_dump($_POST);

Cuéntanos que obtienes.

Por cierto, si van a ser múltiples filas, los campos deberían ser array, ejemplo:

<input type="text" name="nombre[]" value="" />
__________________
- León, Guanajuato
- GV-Foto

Etiquetas: formulario, fpdf, html, reporte, tabla
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 09:49.