Foros del Web » Programando para Internet » PHP »

Botón para ver PDF desde PHP

Estas en el tema de Botón para ver PDF desde PHP en el foro de PHP en Foros del Web. Hola amigos, tengo un problema acerca de como hacer que la consulta hacia mi BD en MySql, se haga a través de un PDF, tratare ...
  #1 (permalink)  
Antiguo 07/11/2012, 11:06
 
Fecha de Ingreso: septiembre-2012
Ubicación: Mexico
Mensajes: 58
Antigüedad: 11 años, 7 meses
Puntos: 2
Pregunta Botón para ver PDF desde PHP

Hola amigos, tengo un problema acerca de como hacer que la consulta hacia mi BD en MySql, se haga a través de un PDF, tratare de explicarlo mejor.

Tengo el archivo view_list.php el cual nos muestra una consulta de tabla de MySql a través de un select, este esta formado de varias opciones, cada una de ellas es el nombre de la tabla a la que haré la consulta.

Hasta ahí todo bien, al hacer la consulta, me muestra la tabla con los parámetros que yo le indico, la variable $c_trabajo se obtiene de lo que se selecciono en el select, y como lo dije antes esta obtiene el nombre de la tabla.

Código PHP:
Ver original
  1. $c_trabajo = $_POST['listas'];
  2. $sql = "SELECT * FROM $c_trabajo";

aqui esta mi archivo completo view_list.php

Código PHP:
Ver original
  1. <?php
  2. include("connect_db.php");
  3.  
  4.   $c_trabajo = $_POST['listas'];
  5.  
  6.   $sql = "SELECT * FROM $c_trabajo";
  7.  
  8.   $result = mysql_query($sql);
  9.  
  10.     echo "<div align='center'>
  11.     <h4><font face='verdana' size='5' color='blue'>Depto./Area: $c_trabajo </font></h4>";
  12.     setlocale(LC_ALL,"SP");
  13.     echo "Periodo del 22 al 26 de ".strftime("%B de %Y");
  14.     echo "<br>";
  15.     echo "<br>";
  16.     echo "<table border='2' cellpadding='2'>
  17.     <tr bgcolor='green'>
  18.     <th width='180' height='30'><font face='verdana' size='2' color='white'>Titulo del puesto</font></th>
  19.     <th><font face='verdana' size='2' color='white'>No. de Plaza</font></th>
  20.     <th width='220' height='10'><font face='verdana' size='2' color='white'>Nombre del Trabajador</font></th>
  21.     <th><font face='verdana' size='2' color='white'>R.P.U/R.T.T</font></th>
  22.     <th><font face='verdana' size='2' color='white'>Area</font></th>
  23.     <th><font face='verdana' size='2' color='white'>Cuenta</font></th>
  24.     <th width='25' height='10'><font face='verdana' size='2' color='white'>L</font></th>
  25.     <th width='25' height='10'><font face='verdana' size='2' color='white'>M</font></th>
  26.     <th width='25' height='10'><font face='verdana' size='2' color='white'>Mi</font></th>
  27.     <th width='25' height='10'><font face='verdana' size='2' color='white'>J</font></th>
  28.     <th width='25' height='10'><font face='verdana' size='2' color='white'>V</font></th>
  29.     <th width='25' height='10'><font face='verdana' size='2' color='white'>S</font></th>
  30.     <th width='25' height='10'><font face='verdana' size='2' color='white'>D</font></th>
  31.     </tr>";
  32.    
  33.     while($row = mysql_fetch_array($result))
  34.     {
  35.     echo "<tr>";
  36.     echo "<td><font face='verdana' size='2'>" . $row['puesto'] . "</font></td>";
  37.     echo "<td align='center'><font face='verdana' size='2'>" . $row['plaza'] . "</font></td>";
  38.     echo "<td><font face='verdana' size='2'>" . $row['n_trab'] . "</font></td>";
  39.     echo "<td align='center'><font face='verdana' size='2'>" . $row['rpe'] . "</font></td>";
  40.     echo "<td align='center'><font face='verdana' size='2'>" . $row['area'] . "</font></td>";
  41.     echo "<td align='center'><font face='verdana' size='2'>" . $row['cuenta'] . "</font></td>";
  42.     echo "<td><font face='verdana' size='2'>" . $row['L'] . "</font></td>";
  43.     echo "<td><font face='verdana' size='2'>" . $row['M'] . "</font></td>";
  44.     echo "<td><font face='verdana' size='2'>" . $row['Mi'] . "</font></td>";
  45.     echo "<td><font face='verdana' size='2'>" . $row['J'] . "</font></td>";
  46.     echo "<td><font face='verdana' size='2'>" . $row['V'] . "</font></td>";
  47.     echo "<td><font face='verdana' size='2'>" . $row['S'] . "</font></td>";
  48.     echo "<td><font face='verdana' size='2'>" . $row['D'] . "</font></td>";
  49.     echo "</tr>";
  50.     }
  51.     echo "</table>";
  52.     echo "</div>";
  53.     echo "<br>";
  54.    
  55.     echo "<form method='post' action='pruebaPDF2.php'>
  56.     <table border='1' align='center'>
  57.     <tr>
  58.     <td><input type='submit' name='pdf' value='Ver Formato PDF'></td>
  59.     </tr>
  60.     </table>
  61.     </form>";
  62.    
  63.     if(isset($_POST['pdf'])){
  64.                 require("pruebaPDF2.php");
  65.             }
  66.     mysql_close($conexion);
  67. ?>

Ahora, como pueden ver tengo definido un INPUT en el archivo el cual al hacer click en el me manda hacia otra pagina la cual tendra el formato en pdf y mostratra la tabla a la que se le consulto.

Código PHP:
Ver original
  1. echo "<form method='post' action='pruebaPDF2.php'>
  2.     <table border='1' align='center'>
  3.     <tr>
  4.     <td><input type='submit' name='pdf' value='Ver Formato PDF'></td>
  5.     </tr>
  6.     </table>
  7.     </form>";
  8.    
  9.     if(isset($_POST['pdf'])){
  10.                 require("pruebaPDF2.php");
  11.             }

Ahora bien al momento de que me manda hacia pruebaPDF2.php, necesito que se genere la misma consulta a traves de la variable $c_trabajo, la cual de nuevo funcionara como parametro de nombre de tabla que necesita la consulta para mandar traer los datos.

Aqui el archivo pruebaPDF2.php completo:

Código PHP:
Ver original
  1. <?php
  2.  
  3. require("fpdf/fpdf.php");
  4. include("connect_db.php");
  5.  
  6.    
  7.     $company = "Compañía";
  8.     $dpto = "Depto./Area:";
  9.     $periodo = "Periodo del XX al YY de MM de 2012";
  10.    
  11.     $pdf = new FPDF("P", "mm", "A4");
  12.     $pdf->AddPage();
  13.    
  14.     //Estructura del documento
  15.     $pdf->SetFont("Arial","","19");
  16.     $pdf->SetTextColor(0,153,0);
  17.    
  18.     $pdf->Image("cfe.jpg",18,20,-170);
  19.    
  20.     $pdf->SetXY(65,15);
  21.     $pdf->Cell(100,10,$company,0,0);
  22.     $pdf->Ln();
  23.    
  24.     $pdf->SetFont("Arial","","12");
  25.     $pdf->SetTextColor(0,153,0);
  26.    
  27.     $pdf->SetX(65);
  28.     $pdf->Cell(150,10,$dpto);
  29.     $pdf->Ln();
  30.    
  31.     $pdf->SetFont("Arial","","11");
  32.     $pdf->SetTextColor(0,153,0);
  33.    
  34.     $pdf->SetX(75);
  35.     $pdf->Cell(150,10,$periodo);
  36.     $pdf->Ln();
  37.    
  38.     $pdf->SetFont("Arial","","10");
  39.     $pdf->SetTextColor(255,255,255);
  40.     $pdf->SetFillColor(0,153,0);
  41.     $pdf->Cell(38,7,"Titulo del puesto",1,0,'C',true);
  42.     $pdf->Cell(18,7,"Plaza",1,0,'C',1);
  43.     $pdf->Cell(55,7,"Nombre del trabajador",1,0,'C',true);
  44.     $pdf->Cell(16,7,"RPE/RTT",1,0,'C',true);
  45.     $pdf->Cell(13,7,"Cuenta",1,0,'C',true);
  46.     $pdf->Cell(9,7,"Area",1,0,'C',true);
  47.     $pdf->Cell(6,7,"L",1,0,'C',true);
  48.     $pdf->Cell(6,7,"M",1,0,'C',true);
  49.     $pdf->Cell(6,7,"Mi",1,0,'C',true);
  50.     $pdf->Cell(6,7,"J",1,0,'C',true);
  51.     $pdf->Cell(6,7,"V",1,0,'C',true);
  52.     $pdf->Cell(6,7,"S",1,0,'C',true);
  53.     $pdf->Cell(6,7,"D",1,0,'C',true);
  54.     $pdf->Ln();
  55.  
  56.     $pdf->SetFont("Arial","","9");
  57.     $pdf->SetTextColor(0,0,0);
  58.     $pdf->SetFillColor(255,255,255);
  59.     $consulta = mysql_query("SELECT * From $c_trabajo");
  60.    
  61.     while($resultado = mysql_fetch_array($consulta)){
  62.     $pdf->Cell(38,5,$resultado['puesto'],1,0,'C',true);
  63.     $pdf->Cell(18,5,$resultado['plaza'],1,0,'C',true);
  64.     $pdf->Cell(55,5,$resultado['n_trab'],1,0,'C',true);
  65.     $pdf->Cell(16,5,$resultado['rpe'],1,0,'C',true);
  66.     $pdf->Cell(13,5,$resultado['area'],1,0,'C',true);
  67.     $pdf->Cell(9,5,$resultado['cuenta'],1,0,'C',true);
  68.     $pdf->Cell(6,5,$resultado['L'],1,0,'C',true);
  69.     $pdf->Cell(6,5,$resultado['M'],1,0,'C',true);
  70.     $pdf->Cell(6,5,$resultado['Mi'],1,0,'C',true);
  71.     $pdf->Cell(6,5,$resultado['J'],1,0,'C',true);
  72.     $pdf->Cell(6,5,$resultado['V'],1,0,'C',true);
  73.     $pdf->Cell(6,5,$resultado['S'],1,0,'C',true);
  74.     $pdf->Cell(6,5,$resultado['D'],1,0,'C',true);
  75.     $pdf->Ln();
  76.     }
  77.    
  78.     //Observaciones
  79.     $pdf->SetFont("Arial","","9");
  80.     $pdf->Text(18,252,"Observaciones:");
  81.     $pdf->Line(18,262,200,262);
  82.    
  83.     //Firmas
  84.     $pdf->SetFont("Arial","","8");
  85.     $pdf->Text(37,270,"Elaboró:");
  86.     $pdf->Line(18,280,68,280);
  87.     $pdf->Text(28,283,"Nombre y firma oficinista");
  88.     $pdf->Text(100,270,"Vo.Bo.:");
  89.     $pdf->Line(78,280,136,280);
  90.     $pdf->Text(75,283,"Nombre y firma Srio. de trabajo y/o Auxiliar Sindical");
  91.     $pdf->Text(163,270,"Autorizó:");
  92.     $pdf->Line(148,280,195,280);
  93.     $pdf->Text(150,283,"Nombre y firma jefe dpto y/o area");
  94.    
  95.     $pdf->Output();
  96. ?>

Como pueden ver en la parte de
Código PHP:
Ver original
  1. $consulta = mysql_query("SELECT * From $c_trabajo");

se encuentra esta consulta, entonces mi pregunta es, como puedo enviar el valor de esta variable desde view_list.php hacia el archivo que genera el pdf para que haga la consulta hacia el mismo valor que obtuvo antes.

Lo he probado con setcookie y el metodo get, pero no me ha funcionado, alguien que me pueda ayudar??

Ojala me haya explicado, muchas gracias por su ayuda!

Etiquetas: pdf, botones
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 18:28.