Foros del Web » Programando para Internet » PHP »

Crear PDF entre fechas

Estas en el tema de Crear PDF entre fechas en el foro de PHP en Foros del Web. Hola a todos tengo una duda y es que quiero generar un pdf entre unas fechas seleccionadas previamente en un pagina Esta es la Pagina ...
  #1 (permalink)  
Antiguo 28/01/2014, 10:29
 
Fecha de Ingreso: enero-2014
Mensajes: 6
Antigüedad: 10 años, 2 meses
Puntos: 0
Pregunta Crear PDF entre fechas

Hola a todos
tengo una duda y es que quiero generar un pdf entre unas fechas seleccionadas previamente en un pagina
Esta es la Pagina en que selecciono las fechas.

Código PHP:
Ver original
  1. <script languaje="javascript" src="popcalendar.js"></script>
  2. <html>
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
  5. <title>Documento sin t&iacute;tulo</title>
  6. </head>
  7. <body>
  8. <form id="form1" name="form1" method="post" action="">
  9.   <table width="790" border="0" align="center" cellpadding="0" cellspacing="0">
  10.     <tr>
  11.       <td width="130">&nbsp;</td>
  12.       <td width="25">&nbsp;</td>
  13.       <td width="15">&nbsp;</td>
  14.       <td width="11">&nbsp;</td>
  15.       <td width="146">
  16.       <?php
  17.      
  18.       include ("funciones.php");
  19.       $cnn=conectar();
  20.       error_reporting(0);
  21.      
  22.       ?>&nbsp;</td>
  23.       <td width="146">&nbsp;</td>
  24.       <td width="85">&nbsp;</td>
  25.       <td width="190">&nbsp;</td>
  26.       <td width="17">&nbsp;</td>
  27.       <td width="25">&nbsp;</td>
  28.     </tr>
  29.     <tr>
  30.       <td width="130" rowspan="12" align="right" valign="top">&nbsp;</td>
  31.       <td width="25">&nbsp;</td>
  32.       <td width="15">&nbsp;</td>
  33.       <td width="11" bgcolor="#F4F4F4">&nbsp;</td>
  34.       <td width="146" bgcolor="#F4F4F4">&nbsp;</td>
  35.       <td width="146" bgcolor="#F4F4F4">&nbsp;</td>
  36.       <td width="85" bgcolor="#F4F4F4">&nbsp;</td>
  37.       <td width="190" bgcolor="#F4F4F4">&nbsp;</td>
  38.       <td width="17" bgcolor="#F4F4F4">&nbsp;</td>
  39.       <td width="25">&nbsp;</td>
  40.     </tr>
  41.     <tr>
  42.       <td width="25">&nbsp;</td>
  43.       <td width="15" bgcolor="#99CC00">&nbsp;</td>
  44.       <td colspan="3" bgcolor="#99CC00">Consultar Compras por fecha <span class="Estilo3"></span></td>
  45.       <td width="85" bgcolor="#F4F4F4">&nbsp;</td>
  46.       <td width="190" bgcolor="#F4F4F4">
  47.       <td width="17" bgcolor="#F4F4F4">&nbsp;</td>
  48.       <td width="25">&nbsp;</td>
  49.     </tr>
  50.     <tr>
  51.       <td width="25">&nbsp;</td>
  52.       <td width="15">&nbsp;</td>
  53.       <td width="11" bgcolor="#F4F4F4">&nbsp;</td>
  54.       <td width="146" bgcolor="#F4F4F4">&nbsp;</td>
  55.       <td width="146" bgcolor="#F4F4F4">&nbsp;</td>
  56.       <td width="85" bgcolor="#F4F4F4">&nbsp;</td>
  57.       <td width="190" bgcolor="#F4F4F4">&nbsp;</td>
  58.       <td width="17" bgcolor="#F4F4F4">&nbsp;</td>
  59.       <td width="25">&nbsp;</td>
  60.     </tr>
  61.    
  62.     <tr>
  63.       <td>&nbsp;</td>
  64.       <td>&nbsp;</td>
  65.       <td bgcolor="#F4F4F4">&nbsp;</td>
  66.       <td colspan="2" bgcolor="#F4F4F4"><span>Ingrese las fechas a consultar</span></td>
  67.       <td colspan="2" bgcolor="#F4F4F4">&nbsp;</td>
  68.       <td bgcolor="#F4F4F4">&nbsp;</td>
  69.       <td>&nbsp;</td>
  70.     </tr>
  71.     <tr>
  72.       <td>&nbsp;</td>
  73.       <td>&nbsp;</td>
  74.       <td bgcolor="#F4F4F4">&nbsp;</td>
  75.       <td bgcolor="#F4F4F4">&nbsp;</td>
  76.       <td bgcolor="#F4F4F4>&nbsp;</td>
  77.       <td colspan="2" bgcolor="#F4F4F4">&nbsp;</td>
  78.       <td bgcolor="#F4F4F4">&nbsp;</td>
  79.       <td>&nbsp;</td>
  80.     </tr>
  81.     <tr>
  82.       <td>&nbsp;</td>
  83.       <td>&nbsp;</td>
  84.       <td bgcolor="#F4F4F4">&nbsp;</td>
  85.       <td bgcolor="#F4F4F4" class="Css2">&nbsp;</td>
  86.       <td colspan="2" bgcolor="#F4F4F4"><input name="cajafn1" type="text" id="dateArrival"  size="10" />
  87.       &amp; <input name="cajafn2" type="text" id="dateArrival2" size="10" /></td>
  88.       <td bgcolor="#F4F4F4"><label>
  89. <input type="buscar" name="buscar" id="buscar" value="buscar" />
  90. <input type="imprimir" name="imprimir" id="imprimir" value="imprimir" />
  91.       </span></label></td>
  92.       <td bgcolor="#F4F4F4">&nbsp;</td>
  93.       <td>&nbsp;</td>
  94.     </tr>
  95.    
  96.     <tr>
  97.       <td>&nbsp;</td>
  98.       <td>&nbsp;</td>
  99.       <td align="center" valign="middle" bgcolor="#F4F4F4" >&nbsp;</td>
  100.       <td align="center" valign="middle" bgcolor="#F4F4F4" >&nbsp;</td>
  101.       <td align="center" valign="middle" bgcolor="#F4F4F4" >&nbsp;</td>
  102.       <td align="center" valign="middle" bgcolor="#F4F4F4" >&nbsp;</td>
  103.       <td align="center" valign="middle" bgcolor="#F4F4F4" >&nbsp;</td>
  104.       <td align="center" valign="middle" bgcolor="#F4F4F4">&nbsp;</td>
  105.       <td>&nbsp;</td>
  106.     </tr>
  107.     <tr>
  108.       <td>&nbsp;</td>
  109.       <td>&nbsp;</td>
  110.       <td align="center" valign="middle" bgcolor="#F4F4F4" >&nbsp;</td>
  111.       <td colspan="4" rowspan="3" align="center" valign="middle" bgcolor="#F4F4F4" ><table width="550" border="0"  align="center" cellpadding="0" cellspacing="0">
  112.           <tr >
  113.             <td width="180" align="center"><div align="center"><span >
  114.                 <?php
  115.               if ($_POST['buscar']=="buscar"){
  116.                 $fecha1=$_POST['cajafn1'];
  117.                 $fecha2=$_POST['cajafn2'];
  118.        
  119.                 $rs=mysql_query("select * from compra where compra_date between '$fecha1' and '$fecha2'",$cnn);
  120.                      
  121.           ?>
  122.               Proveedor</span></div></td>
  123.               <td width="130" align="center"><div align="center"><span >Area</span></div></td>
  124.             <td width="130" align="center"><div align="center"><span >Fecha</span></div></td>
  125.             <td width="70" align="center" ><div align="center"><span >Folio</span></div></td>
  126.             <td width="70" align="center" ><div align="center"><span >------</span></div></td>
  127.           </tr>
  128.           <?php
  129.           while($row=mysql_fetch_array($rs)){
  130.               printf(
  131.               "<tr>
  132.               <td bgsolor=#FFFFFF>&nbsp; %s&nbsp;</td>
  133.               <td bgsolor=#FFFFFF>&nbsp; %s&nbsp;</td>
  134.               <td bgsolor=#FFFFFF>&nbsp; %s&nbsp;</td>
  135.               <td bgsolor=#FFFFFF>&nbsp; %s&nbsp;</td>
  136.               <td bgsolor=#FFFFFF><div align=center><a href=\"pdfcompra.php?compraid=%s&rut=$vC\" target='_blank'>Revisar</a></div></td>
  137.              
  138.              
  139.               </tr>",
  140.               $row["compra_rutprovee"],
  141.               $row["compra_area"],
  142.               $row["compra_date"],
  143.               $row["compra_folio"],
  144.               $row["compra_id"]);
  145.              
  146.           }
  147.           mysql_free_result($rs);
  148.           }
  149.              
  150.           ?>
  151.               </table></td>
  152.       <td align="center" valign="middle" bgcolor="#F4F4F4">&nbsp;</td>
  153.       <td>&nbsp;</td>
  154.     </tr>
  155.     <tr>
  156.       <td>&nbsp;</td>
  157.       <td>&nbsp;</td>
  158.       <td align="center" valign="middle" bgcolor="#F4F4F4" >&nbsp;</td>
  159.       <td align="center" valign="middle" bgcolor="#F4F4F4">&nbsp;</td>
  160.       <td>&nbsp;</td>
  161.     </tr>
  162.     <tr>
  163.       <td>&nbsp;</td>
  164.       <td>&nbsp;</td>
  165.       <td align="center" valign="middle" bgcolor="#F4F4F4">&nbsp;</td>
  166.       <td align="center" valign="middle" bgcolor="#F4F4F4">&nbsp;</td>
  167.       <td>&nbsp;</td>
  168.     </tr>
  169.    
  170.    
  171.    
  172.     <tr>
  173.       <td>&nbsp;</td>
  174.       <td>&nbsp;</td>
  175.       <td bgcolor="#F4F4F4">&nbsp;</td>
  176.       <td bgcolor="#F4F4F4">&nbsp;</td>
  177.       <td bgcolor="#F4F4F4" >&nbsp;</td>
  178.       <td bgcolor="#F4F4F4" ><input name="cajao"  type="hidden" id="cajao" value="<?php echo $fecha1;?>"><input name="cajao2"  type="hidden" id="cajao2" value="<?php echo $fecha2;?>"></td>
  179.       <td width="190"  align="right" bgcolor="#F4F4F4" > <?php
  180.             if ($_POST['imprimir']=="imprimir"){
  181.                 $fecha1 =$_POST['cajao'];
  182.                 $fecha2 =$_POST['cajao2'];
  183.                 echo "<script language=\"javascript\">window.open(\"pdfcompraxfech.php\",\"_blank\");</script>";
  184.            
  185.             }
  186.             ?></td>
  187.       <td width="17" bgcolor="#333333">&nbsp;</td>
  188.       <td width="25">&nbsp;</td>
  189.     </tr>
  190.    
  191.    
  192.     <tr>
  193.       <td>&nbsp;</td>
  194.       <td bgcolor="#333333">&nbsp;</td>
  195.       <td bgcolor="#333333">&nbsp;</td>
  196.       <td bgcolor="#333333" >&nbsp;</td>
  197.       <td bgcolor="#333333">&nbsp;</td>
  198.       <td bgcolor="#333333" >&nbsp;</td>
  199.       <td bgcolor="#333333" >&nbsp;</td>
  200.       <td bgcolor="#333333">&nbsp;</td>
  201.       <td>&nbsp;</td>
  202.     </tr>
  203.   </table>
  204.   <p>&nbsp;</p>
  205. </form>
  206. </body>
  207. </html>

Bueno, la tabla que interactua directamente en esta pagina es compra.
La base de datos se llama genexios.
Código SQL:
Ver original
  1. CREATE TABLE `compra` (
  2. `compra_id` INT(11) NOT NULL,
  3. `compra_estado` VARCHAR(50) NOT NULL,
  4. `compra_folio` VARCHAR(50) NOT NULL,
  5. `compra_date` VARCHAR(50) NOT NULL,
  6. `compra_rutprovee` VARCHAR(50) NOT NULL,
  7. `compra_area` VARCHAR(50) NOT NULL,
  8. `compra_opciones` VARCHAR(50) NOT NULL,
  9.  
  10.   PRIMARY KEY  (`compra_id`),
  11.  
  12. )

Y este es el pdf que genero al momento de seleccionar el botón imprimir.

Código PHP:
Ver original
  1. <?php
  2.  
  3. require_once('class.ezpdf.php');
  4. $pdf =& new Cezpdf('letter');
  5. $pdf->selectFont('../fonts/courier.afm');
  6. $pdf->ezSetCmMargins(1,1,1.5,1.5);
  7.  
  8.  
  9. $pdf->ezImage("img/logojpg.jpg",0,100,'none','left');
  10. $conexion = mysql_connect("localhost", "root", "");
  11. mysql_select_db("genexios", $conexion);
  12.  
  13. $queEmp = "Select * from compra where compra_date between '$fecha1' and '$fecha2'";
  14. $resEmp = mysql_query($queEmp, $conexion) or die(mysql_error());
  15. $totEmp = mysql_num_rows($resEmp);
  16.  
  17. $ixx = 0;
  18. while($datatmp = mysql_fetch_assoc($resEmp)) {
  19.     $ixx = $ixx+1;
  20.     $data[] = array_merge($datatmp, array('num'=>$ixx));
  21. }
  22. $titles = array(
  23.                 'compra_rutprovee'=>'<b>Rut Proveedor</b>',
  24.                 'compra_area'=>'<b>Area</b>',
  25.                 'compra_estado'=>'<b>Estado</b>',
  26.                 'compra_folio'=>'<b>Folio</b>',
  27.                 'compra_opciones'=>'<b>Tipo Doc</b>',
  28.                 'compra_date'=>'<b>Fecha</b>',
  29.                
  30.                
  31.                 );
  32. $options = array(
  33.                 'shadeCol'=>array(0.9,0.9,0.9),
  34.                 'xOrientation'=>'center',
  35.                 'width'=>500
  36.             ); 
  37. $txttit = "\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<b>Informe de compras</b>\n";
  38. $txttit2= "Informe generado.\n";
  39.  
  40. $pdf->ezText($txttit, 14);
  41. $pdf->ezText($txttit2, 10);
  42.  
  43. $pdf->ezTable($data, $titles, '', $options);
  44. $pdf->ezText("\n\n\n", 10);
  45. $pdf->ezText("Actualizado con <b>Fecha:</b> ".date("d/m/Y"), 9);
  46. $pdf->ezStream();
  47. ?>
Mi pregunta es ¿Como hago para que me salgan las fechas correspondientes? ya que me genera el informe pero no me sale la tabla con las fechas que pedi previamente
  #2 (permalink)  
Antiguo 28/01/2014, 11:51
Avatar de NSD
NSD
Colaborador
 
Fecha de Ingreso: mayo-2012
Ubicación: Somewhere
Mensajes: 1.332
Antigüedad: 11 años, 11 meses
Puntos: 320
Respuesta: Crear PDF entre fechas

Ouch, primero que nada podrias empezar a usar css, el primer script se haria mucho mas simple si agregaras unas 10 lineas de css y borraras los miles de atributos que hay por todos lados.

Aparte de eso, que tabla rara la tuya, tiene 6 columnas de encabezados y 8 columnas por fila. Hay 2 que se "caen afuera". La creacion de pdf es algo delicado, mas con una clase primitiva (si, muy eficiente) como ezpdf. debes asegurarte que todo esta perfecto en todos lados.
__________________
Maratón de desafíos PHP Junio - Agosto 2015 en FDW | Reglamento - Desafios
  #3 (permalink)  
Antiguo 28/01/2014, 12:02
 
Fecha de Ingreso: enero-2014
Mensajes: 6
Antigüedad: 10 años, 2 meses
Puntos: 0
Respuesta: Crear PDF entre fechas

Cita:
Iniciado por NSD Ver Mensaje
Ouch, primero que nada podrias empezar a usar css, el primer script se haria mucho mas simple si agregaras unas 10 lineas de css y borraras los miles de atributos que hay por todos lados.

Aparte de eso, que tabla rara la tuya, tiene 6 columnas de encabezados y 8 columnas por fila. Hay 2 que se "caen afuera". La creacion de pdf es algo delicado, mas con una clase primitiva (si, muy eficiente) como ezpdf. debes asegurarte que todo esta perfecto en todos lados.
Hola, es que lo trate de simplificar pero lo que realmente cuenta es el código PHP
  #4 (permalink)  
Antiguo 28/01/2014, 12:31
Avatar de NSD
NSD
Colaborador
 
Fecha de Ingreso: mayo-2012
Ubicación: Somewhere
Mensajes: 1.332
Antigüedad: 11 años, 11 meses
Puntos: 320
Respuesta: Crear PDF entre fechas

Código PHP:
Ver original
  1. <?php
  2. // Tu tabla tiene 7 campos y solo vas a mostrar 6, no tiene sentido traerlos a todos ademas de que no funciona.
  3. // $queEmp = "Select * from compra where compra_date between '$fecha1' and '$fecha2'";
  4. // Lo correcto seria hacerlo asi, el orden de los campos si importa.
  5. // El SQL se escribe en mayusculas, no porque no ande, sino porque es mas facil de leer.
  6. $queEmp = " SELECT
  7.                   compra_rutprovee
  8.                 , compra_area
  9.                 , compra_folio
  10.                 , compra_opciones
  11.                 , compra_date
  12.             FROM
  13.                 compra
  14.             WHERE
  15.                 compra_date BETWEEN '$fecha1' AND '$fecha2'
  16.          ;";
  17. // Las funciones de mysql estan obsoletas y no combiene usarlas. Revisa el manual. Cuanto antes migres a mysqli mejor.
  18. $resEmp =   mysql_query($queEmp, $conexion)
  19.                 or die(mysql_error());
  20.                
  21. // Esto no lo usas, no es nesesario.
  22. // $totEmp = mysql_num_rows($resEmp);
  23.  
  24. // Esto tampoco
  25. // $ixx = 0;
  26. while($datatmp = mysql_fetch_assoc($resEmp))
  27. {
  28.     // $ixx = $ixx+1;
  29.     // Si vas a mostar 6 datos que ya vienen de sql ¿Para que le agregas uno de mas?
  30.     //$data[] = array_merge($datatmp, array('num'=>$ixx));
  31.    
  32.     $data[] = $datatmp;
  33. }
__________________
Maratón de desafíos PHP Junio - Agosto 2015 en FDW | Reglamento - Desafios
  #5 (permalink)  
Antiguo 28/01/2014, 12:38
 
Fecha de Ingreso: enero-2014
Mensajes: 6
Antigüedad: 10 años, 2 meses
Puntos: 0
Respuesta: Crear PDF entre fechas

Muchas gracias, voy a a hacer lo que me dijo, cuando lo tenga listo te voy a contar como me fue.

Etiquetas: fecha, html, mysql, pdf, select, sql, 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 13:10.