Foros del Web » Programando para Internet » PHP »

Generar pdf desde una tabla html con datos php

Estas en el tema de Generar pdf desde una tabla html con datos php en el foro de PHP en Foros del Web. Hola comunidad soy novato quisiera consultar como puedo generar un pdf de la segunda tabla que genero en este codigo hasta el momento lo he ...
  #1 (permalink)  
Antiguo 06/07/2016, 08:49
Avatar de diegoyanez  
Fecha de Ingreso: junio-2016
Ubicación: Chile, San Fernando
Mensajes: 6
Antigüedad: 7 años, 10 meses
Puntos: 0
Información Generar pdf desde una tabla html con datos php

Hola comunidad soy novato quisiera consultar como puedo generar un pdf de la segunda tabla que genero en este codigo hasta el momento lo he intentado con tcpdf pero necesito generar una variable $html.= pero me mareo por que mi tabla la lleno con php de la siguiente forma

Código PHP:
Ver original
  1. <?php
  2. $art3=mysql_query("SELECT Articulos.idArticulos, Articulos.descripcion, Articulos.stock, Articulos.Observaciones, Articulos.estado, Departamento.encargado
  3. from Establecimiento inner join Departamento on Departamento.idEstablecimiento = Establecimiento.idEstablecimiento
  4. inner join Articulos on Articulos.idDepartamento = Departamento.idDepartamento  where Departamento.idDepartamento
  5. like '%".$departamento2."'",$link );?>
  6. <table width="800" border="1" cellspacing="0" class="table" id="tabla_departamento">
  7.   <thead class="thead-inverse">
  8. <tr>
  9. <td style="width: 52px" class="style2">Id </td>
  10. <td style="width: 222px" class="style2">Descripcion</td>
  11. <td style="width: 92px" class="style2">Stock</td>
  12. <td style="width: 222px" class="style2">Observaciones</td>
  13. <td style="width: 92px" class="style2">Estado</td>
  14. <td style="width: 92px" class="style2">Encargado</td>
  15. </tr>
  16. </thead>
  17. <!--genera la cantidad de filas segun la cantidad de datos en articulos -->
  18. <?php
  19. while($fila2=mysql_fetch_array($art3))
  20. { ?>
  21. <tr>
  22. <td style="width: 52px" class="style2"> <?php echo $fila2["idArticulos"];?> </td>
  23. <td style="width: 222px" class="style2"> <?php echo $fila2["descripcion"]; ?> </td>
  24. <td style="width: 188px" class="style2"> <?php echo$fila2["stock"];?> </td>
  25. <td style="width: 188px" class="style2"> <?php echo$fila2["Observaciones"];?> </td>
  26. <td style="width: 92px" class="style2"> <?php echo $fila2["estado"];?> </td>
  27. <td style="width: 188px" class="style2"> <?php echo$fila2["encargado"];?> </td>
  28. </tr>
  29. <?php }  
  30.  ?>
  31. </table>



el codigo completo del formularip php es este
Código PHP:
Ver original
  1. <div class="panel panel-primary">
  2.         <div class="panel-heading">
  3.           <h3 class="panel-title">Inventarios</h3>
  4.         </div>
  5. <section>
  6. <center>
  7. <br>
  8. <br>
  9. <table width="800" border="0" cellspacing="0" class="table">
  10. <tr>
  11. <td style="width:100px" class="style2" align="center">
  12.  
  13.  
  14. <!-- script para los select -->
  15. <script>   $(document).ready(function(){$("#establecimiento").select2({
  16.   placeholder: "Departamento"
  17. });
  18.  
  19. });</script>
  20.  
  21. <form name="form1" method="POST" action="inventario.php" id="cdr">
  22.     <select id="establecimiento" name="busquedaEstablecimientos" class='form-control campos' >
  23.     <!--llenar los select con datos de bd -->
  24.     <?php require 'conexion.php';
  25.     $cons = mysql_query("SELECT * FROM Establecimiento ORDER BY nombre");
  26.     echo '<option selected="selected" enabled="enabled">Seleccione Establecimiento</option>';
  27.     while($cons2 = mysql_fetch_array($cons)){
  28.     echo '<option value="'.$cons2['idEstablecimiento'].'">'.$cons2['nombre'].'</option>';
  29.     } ?> </select>
  30.  
  31.  
  32.  
  33.  
  34. </td>
  35.  
  36. <td style="width:100px" class="style2" align="center"><select id="departamento" name="busquedaDepartamentos" class='form-control campos'></select>
  37.  
  38. </td>
  39.     <td style="width:100px" class="style2" align="center"><input type="submit" name="buscar" value="Buscar" class="btn btn-primary"></td>
  40. </form>
  41.  
  42.  
  43.  
  44. </table>
  45.  
  46.  
  47.  
  48.  
  49. <center> </center>
  50.  
  51.  
  52.  
  53.  
  54.  
  55.  
  56.    
  57.         <br>
  58.  
  59. </section>
  60. <center>
  61.              
  62. <!--llenar tabla de articulos-->
  63. <?php
  64.  
  65.  
  66.  
  67. include("conexion.php");
  68.  
  69.  
  70. $establecimientos2="";
  71.  
  72. $establecimientos2 = $_POST['busquedaEstablecimientos'];
  73.  
  74.  
  75.  
  76. $art=mysql_query("SELECT Articulos.idArticulos, Articulos.descripcion, Articulos.stock, Articulos.estado
  77. from Establecimiento inner join Departamento on Departamento.idEstablecimiento = Establecimiento.idEstablecimiento
  78. inner join Articulos on Articulos.idDepartamento = Departamento.idDepartamento  where Establecimiento.idEstablecimiento
  79. like '%".$establecimientos2."'",$link );
  80.  
  81.  
  82.  
  83. $departamento2="";
  84.  
  85. $departamento2 = $_POST['busquedaDepartamentos'];
  86.  
  87.  
  88.  
  89.  
  90. $art2=mysql_query("SELECT Articulos.idArticulos, Articulos.descripcion, Articulos.stock, Articulos.Observaciones, Articulos.estado, Departamento.encargado
  91. from Establecimiento inner join Departamento on Departamento.idEstablecimiento = Establecimiento.idEstablecimiento
  92. inner join Articulos on Articulos.idDepartamento = Departamento.idDepartamento  where Departamento.idDepartamento
  93. like '%".$departamento2."'",$link );
  94.  
  95.  
  96.  
  97.  
  98.  
  99.  
  100.  
  101. $numeroRegistro=mysql_num_rows($art);
  102. if($numeroRegistro==0){
  103.     echo "No se han encontrado productos para mostrar";
  104.  
  105.  
  106.  
  107.  
  108. }
  109. ?>
  110.    
  111. <!--SELECT * FROM proyecto2.Articulos WHERE  ORDER BY descripcion -->
  112.  
  113.  
  114.  
  115.     <table width="800" border="1" cellspacing="0" class="table">
  116.      <thead class="thead-inverse">
  117. <tr>
  118.     <td><div align="center"><span class="style1"><strong>Articulos por Establecimientos</strong></span></div></td>
  119. </tr>
  120. </table>
  121. <table width="800" border="1" cellspacing="0" class="table" id="tabla_articulos">
  122. <thead class="thead-inverse">
  123. <tr>
  124.  
  125. <td style="width: 52px" >Id </td>
  126. <td style="width: 222px" class="style2">Descripcion</td>
  127. <td style="width: 188px" class="style2">Stock</td>
  128. <td style="width: 92px" class="style2">Estado</td>
  129. </tr>
  130. </thead>
  131.  
  132.  
  133.  
  134. <!--genera la cantidad de filas segun la cantidad de datos en articulos -->
  135. <?php
  136.  
  137.  
  138. while($fila=mysql_fetch_array($art))
  139. {
  140.  
  141. ?>
  142.  
  143. <tr>
  144.  
  145. <td style="width: 52px" class="style2"> <?php echo $fila["idArticulos"];?> </td>
  146. <td style="width: 222px" class="style2"> <?php echo $fila["descripcion"]; ?> </td>
  147. <td style="width: 188px" class="style2"> <?php echo$fila["stock"];?> </td>
  148. <td style="width: 92px" class="style2"> <?php echo $fila["estado"];?> </td>
  149.  
  150. </tr>
  151. <?php }
  152.  
  153.  
  154.  
  155.  ?>
  156.  
  157.  
  158.  
  159. </table>
  160. <br>
  161. <br>
  162.  
  163. <table width="800" border="1" cellspacing="0" class="table">
  164.    <thead class="thead-inverse">
  165. <tr>
  166.   <td><div align="center"><span class="style1"><strong>Articulos Disponibles Departamento(s)</strong></span></div></td>
  167. </tr>
  168. </table>
  169. <table width="800" border="1" cellspacing="0" class="table" id="tabla_departamentos">
  170.   <thead class="thead-inverse">
  171. <tr>
  172. <td style="width: 52px" class="style2">Id </td>
  173. <td style="width: 222px" class="style2">Descripcion</td>
  174. <td style="width: 92px" class="style2">Stock</td>
  175. <td style="width: 222px" class="style2">Observaciones</td>
  176. <td style="width: 92px" class="style2">Estado</td>
  177. <td style="width: 92px" class="style2">Encargado</td>
  178. </tr>
  179. </thead>
  180.  
  181.  
  182. <!--genera la cantidad de filas segun la cantidad de datos en articulos -->
  183. <?php
  184.  
  185. if($establecimientos2==""){
  186.  
  187.  
  188.  
  189. }else{
  190.  
  191.  
  192. while($fila2=mysql_fetch_array($art2))
  193. {
  194. ?>
  195.  
  196. <tr>
  197.  
  198. <td style="width: 52px" class="style2"> <?php echo $fila2["idArticulos"];?> </td>
  199. <td style="width: 222px" class="style2"> <?php echo $fila2["descripcion"]; ?> </td>
  200. <td style="width: 188px" class="style2"> <?php echo$fila2["stock"];?> </td>
  201. <td style="width: 188px" class="style2"> <?php echo$fila2["Observaciones"];?> </td>
  202. <td style="width: 92px" class="style2"> <?php echo $fila2["estado"];?> </td>
  203. <td style="width: 188px" class="style2"> <?php echo$fila2["encargado"];?> </td>
  204. </tr>
  205. <?php }}
  206.  
  207.  ?>
  208. </table>

en conclusion lo que necesito y no he podido hacer es que cuando yo selecciono el segundo select esto me llena la tabla departamentos y ahi necesito poner un boton que me imprima esa tabla

nota:desde luego he buscado muchos tutoriales sobre tcpdf y dompdf sin lograr daR CON ALGO y ya me estoy pegando en la cabeza y no quiero terminar bobo
  #2 (permalink)  
Antiguo 06/07/2016, 08:54
Avatar de diegoyanez  
Fecha de Ingreso: junio-2016
Ubicación: Chile, San Fernando
Mensajes: 6
Antigüedad: 7 años, 10 meses
Puntos: 0
Respuesta: Generar pdf desde una tabla html con datos php

[URL="https://www.youtube.com/watch?v=nrS1QaaC2Ss"]https://www.youtube.com/watch?v=nrS1QaaC2Ss[/URL]
  #3 (permalink)  
Antiguo 06/07/2016, 14:16
 
Fecha de Ingreso: noviembre-2003
Ubicación: Zaragoza, España
Mensajes: 1.257
Antigüedad: 20 años, 5 meses
Puntos: 154
Respuesta: Generar pdf desde una tabla html con datos php

Hola diegoyanez,

Creo que te convendría revisar html2pdf.

Espero que te sirva.

Etiquetas: html, mysql, pdf, registro, select, sql, tabla, variable
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 11:23.