Foros del Web » Programando para Internet » PHP »

Problema al generar pdf con datepicker y mysql!!!...

Estas en el tema de Problema al generar pdf con datepicker y mysql!!!... en el foro de PHP en Foros del Web. Hola a todos, bueno hace tiempo tuve un problema al generar un PDF y gracias a Dios se pudo resolver... era un problema que tenía ...
  #1 (permalink)  
Antiguo 21/09/2011, 09:18
Avatar de stuart_david3  
Fecha de Ingreso: agosto-2011
Mensajes: 215
Antigüedad: 12 años, 7 meses
Puntos: 1
Información Problema al generar pdf con datepicker y mysql!!!...

Hola a todos, bueno hace tiempo tuve un problema al generar un PDF y gracias a Dios se pudo resolver... era un problema que tenía con al hacer referencia a las fuentes del fpdf, ya que me generaba el pdf pero sin ningun formato y la tabla donde iban los datos de mi consulta aparecía vacía... total me pasaron una carpeta con las fuentes (fonts) la puse en el proyecto y jalo, este fue el codigo que me funciono...

Código PHP:
Ver original
  1. <?php
  2. error_reporting(E_ALL & ~E_NOTICE);
  3. //require('class.pdf.php');
  4. require_once('class.ezpdf.php'); //conexion en la libreria para crear documentos pdf
  5. //require('class.pdf.php');
  6. require("Conexion.php"); //conexion a la base de datos
  7.  
  8.  
  9. $pdf = new Cezpdf('LETTER','landscape');
  10. $pdf->selectFont('../fonts/Helvetica.afm');
  11. $pdf->ezSetCmMargins(1,1,1.5,1.5);
  12. $pdf->ezSetMargins(40,45,30,30);
  13. $pdf->ezStartPageNumbers(750,25,12,'','{PAGENUM} de {TOTALPAGENUM}',1);
  14.  
  15.  
  16. $resultado=mysql_query("SELECT RPEREGASIS, FECREGASIS, MIN( HORREGASIS ) AS entrada, MAX( HORREGASIS ) as salida
  17.            FROM registro GROUP BY RPEREGASIS, FECREGASIS LIMIT 1,10");
  18. $totEmp = mysql_num_rows($resultado);
  19.  
  20. //aqui empieza a revisar los datos q hay en la tabla
  21. $ixx = 0;
  22. while($datatmp = mysql_fetch_assoc($resultado)) {
  23.     $ixx = $ixx+1;
  24.     $data[] = array_merge($datatmp, array('id'=>$ixx));
  25. }
  26. //dar el titulo a los encabezados de las columnas
  27. $titles = array(
  28.                 'id'=>'<b>Id</b>',
  29.                 'RPEREGASIS'=>'<b>RPE del Empleado</b>',
  30.                 'FECREGASIS'=>'<b>Fecha</b>',
  31.                 'entrada'=>'<b>Hora de Entrada</b>',
  32.                 'salida'=>'<b>Hora de Salida</b>'
  33.                
  34. );
  35. //opciones de la tabla en el pdf
  36. $options = array(
  37.                 'shadeCol'=>array(0.9,0.9,0.9),
  38.                 'xOrientation'=>'center',
  39.                 'fontSize'=>8,
  40.                 'width'=>700,
  41.                 'colGap'=>2,
  42.                 'xPos'=>'centre',
  43. );
  44. $pdf->addJpegFromFile('ros.jpg',650,540,100);
  45. $txttit = "<b>Reporte</b>\n";
  46. $txttit.= "Solicitudes de zona \n";
  47. //datos que se agregan a la tabla al final de las paginas, fecha y hora
  48. $pdf->ezText($txttit, 12);
  49. $pdf->ezText($data, 12);
  50. $pdf->ezTable($data, $titles, '', $options);
  51. $pdf->ezText("\n\n\n", 10);
  52. $pdf->ezText("<b>Fecha:</b> ".date("d/m/Y"), 10);
  53. $pdf->ezText("<b>Hora:</b> ".date("H:i:s")."\n\n", 10);
  54. $pdf->ezStream();
  55. ?>

Intenté hacer lo mismo metiendo datos desde un formulario y si funciona, lo intente solo pasando un parametro que era el numero de identificacion de un trabajador y si me lo genero el pdf...

Ahora lo incluí el datepicker y una función para pasar el formato de fecha del mismo al formato en que se guardan las fechas en mysql, y bueno la pagina me arroja un mensaje diciendo que "Se ha producido un error al cargar el PDF" y se me hace extraño ya que la consulta si funciona bien mostrandola en la pagina pero a la hora de generar el pdf me arroja ese mensaje de error :s... aqui les dejo el codigo, espero y como siempre me puedan ayudar =)...

Código PHP:
Ver original
  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  2. <html>
  3.     <head>
  4.         <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  5.         <link rel="stylesheet" type="text/css" href="FormPagina.css" />
  6.         <title></title>
  7.         <link type="text/css" href="css/sunny/jquery-ui-1.8.13.custom.css" rel="stylesheet" />
  8.         <script type="text/javascript" src="js/jquery-1.5.1.min.js"></script>
  9.         <script type="text/javascript" src="js/jquery-ui-1.8.13.custom.min.js"></script>
  10.         <script type="text/javascript">
  11.  
  12.     $(function() {
  13.         $( ".datepicker" ).datepicker();
  14.     });
  15.     </script>
  16.     <body>
  17.         <h1>CFE</h1>
  18.         <form id="form" name="form" action="TrabaFecha2.php" method="post">
  19.             RPE del Trabajador:
  20.             <input type="text" name="RPEREGASIS">
  21.             <br>
  22.             Fecha Inicio:
  23.             <input type="text" name="fechaIni" class="datepicker">
  24.             <br>
  25.             Fecha Final:
  26.             <input type="text" name="fechaFin" class="datepicker">
  27.             <br>
  28.             <input type="submit" value="Consultar">
  29.         </form>
  30.  
  31.         <?php
  32.        
  33.         function js2PhpTime($jsdate){
  34.   if(preg_match('@(\d+)/(\d+)/(\d+)\s+(\d+):(\d+)@', $jsdate, $matches)==1)
  35.                 {
  36.     $ret = mktime($matches[4], $matches[5], 0, $matches[1], $matches[2], $matches[3]);
  37.   }else if(preg_match('@(\d+)/(\d+)/(\d+)@', $jsdate, $matches)==1){
  38.     $ret = mktime(0, 0, 0, $matches[1], $matches[2], $matches[3]);
  39.   }
  40.   return $ret;
  41. }
  42.         $trabajador=$_POST['RPEREGASIS'];
  43.         $fechaIni=$_POST['fechaIni'];
  44.         $fechaFin=$_POST['fechaFin'];
  45.         $Inicio=date("Y-m-d", js2PhpTime($fechaIni));
  46.         $Final=date("Y-m-d", js2PhpTime($fechaFin));
  47.         $conectar=mysql_connect('localhost','root','');
  48.         if($conectar==NULL)
  49.         {
  50.             printf("Error al conectar a la Base de datos");
  51.         }
  52.  
  53.         mysql_select_db('registro');
  54.         require_once('class.ezpdf.php');
  55.         $pdf = new Cezpdf('LETTER','landscape');
  56. $pdf->selectFont('../fonts/Helvetica.afm');
  57. $pdf->ezSetCmMargins(1,1,1.5,1.5);
  58. $pdf->ezSetMargins(40,45,30,30);
  59. $pdf->ezStartPageNumbers(750,25,12,'','{PAGENUM} de {TOTALPAGENUM}',1);
  60.         $resultado=mysql_query("SELECT RPEREGASIS, FECREGASIS, MIN(HORREGASIS) AS entrada, MAX(HORREGASIS) as salida
  61.            FROM registro WHERE RPEREGASIS='$trabajador' AND FECREGASIS BETWEEN '$Inicio' AND '$Final' GROUP BY RPEREGASIS, FECREGASIS");
  62.  
  63.         $totEmp = mysql_num_rows($resultado);
  64.  
  65. //aqui empieza a revisar los datos q hay en la tabla
  66. $ixx = 0;
  67. while($datatmp = mysql_fetch_assoc($resultado)) {
  68.     $ixx = $ixx+1;
  69.     $data[] = array_merge($datatmp, array('id'=>$ixx));
  70. }
  71. //dar el titulo a los encabezados de las columnas
  72. $titles = array(
  73.                 'id'=>'<b>Id</b>',
  74.                 'RPEREGASIS'=>'<b>RPE del Empleado</b>',
  75.                 'FECREGASIS'=>'<b>Fecha</b>',
  76.                 'entrada'=>'<b>Hora de Entrada</b>',
  77.                 'salida'=>'<b>Hora de Salida</b>'
  78. );
  79. //opciones de la tabla en el pdf
  80. $options = array(
  81.                 'shadeCol'=>array(0.9,0.9,0.9),
  82.                 'xOrientation'=>'center',
  83.                 'fontSize'=>8,
  84.                 'width'=>700,
  85.                 'colGap'=>2,
  86.                 'xPos'=>'centre',
  87. );
  88. $pdf->addJpegFromFile('ros.jpg',650,540,100);
  89. $txttit = "<b>Reporte</b>\n";
  90. $txttit.= "Solicitudes de zona \n";
  91. //datos que se agregan a la tabla al final de las paginas, fecha y hora
  92. $pdf->ezText($txttit, 12);
  93. $pdf->ezText($data, 12);
  94. $pdf->ezTable($data, $titles, '', $options);
  95. $pdf->ezText("\n\n\n", 10);
  96. $pdf->ezText("<b>Fecha:</b> ".date("d/m/Y"), 10);
  97. $pdf->ezText("<b>Hora:</b> ".date("H:i:s")."\n\n", 10);
  98. $pdf->ezStream();
  99.  
  100.  
  101. ?>
  102.  
  103.  
  104.     </body>
  105.             </html>
  #2 (permalink)  
Antiguo 21/09/2011, 09:42
Avatar de stuart_david3  
Fecha de Ingreso: agosto-2011
Mensajes: 215
Antigüedad: 12 años, 7 meses
Puntos: 1
Respuesta: Problema al generar pdf con datepicker y mysql!!!...

Ala beisbol lo acabo de resolver... solamente tenía 2 veces hecho el mismo formulario con el nombre de TrabaFecha y TrabaFecha2 (en este tenía la consulta), y como me hacía referencia al mismo pues no lo mostraba, pero a quedo aqui les dejo los dos archivos por si alguien los ocupa :p...

TrabaFecha.php

Código PHP:
Ver original
  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  2. <html>
  3.     <head>
  4.         <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  5.         <link rel="stylesheet" type="text/css" href="FormPagina.css" />
  6.         <title></title>
  7.         <link type="text/css" href="css/sunny/jquery-ui-1.8.13.custom.css" rel="stylesheet" />
  8.         <script type="text/javascript" src="js/jquery-1.5.1.min.js"></script>
  9.         <script type="text/javascript" src="js/jquery-ui-1.8.13.custom.min.js"></script>
  10.         <script type="text/javascript">
  11.  
  12.     $(function() {
  13.         $( ".datepicker" ).datepicker();
  14.     });
  15.     </script>
  16.     <body>
  17.         <h1>CFE</h1>
  18.         <form id="form" name="form" action="TrabaFecha2.php" method="post">
  19.             RPE del Trabajador:
  20.             <input type="text" name="RPEREGASIS">
  21.             <br>
  22.             Fecha Inicio:
  23.             <input type="text" name="fechaIni" class="datepicker">
  24.             <br>
  25.             Fecha Final:
  26.             <input type="text" name="fechaFin" class="datepicker">
  27.             <br>
  28.             <input type="submit" value="Consultar">
  29.         </form>
  30. <br><br><br>
  31.         <a href="user.php">Regresar al menu</a>
  32.          <br><br><a href="logout.php">Cerrar sesi&oacute;n</a>
  33.     </body>
  34. </html>

TrabaFecha2.php

Código PHP:
Ver original
  1. <?php
  2.         error_reporting(E_ALL & ~E_NOTICE);
  3.         function js2PhpTime($jsdate){
  4.   if(preg_match('@(\d+)/(\d+)/(\d+)\s+(\d+):(\d+)@', $jsdate, $matches)==1)
  5.                 {
  6.     $ret = mktime($matches[4], $matches[5], 0, $matches[1], $matches[2], $matches[3]);
  7.   }else if(preg_match('@(\d+)/(\d+)/(\d+)@', $jsdate, $matches)==1){
  8.     $ret = mktime(0, 0, 0, $matches[1], $matches[2], $matches[3]);
  9.   }
  10.   return $ret;
  11. }
  12.         $trabajador=$_POST['RPEREGASIS'];
  13.         $fechaIni=$_POST['fechaIni'];
  14.         $fechaFin=$_POST['fechaFin'];
  15.        
  16.         $conectar=mysql_connect('localhost','root','');
  17.         if($conectar==NULL)
  18.         {
  19.             printf("Error al conectar a la Base de datos");
  20.         }
  21.  
  22.         mysql_select_db('registro');
  23.         require_once('class.ezpdf.php');
  24.         $pdf = new Cezpdf('LETTER','landscape');
  25. $pdf->selectFont('../fonts/Helvetica.afm');
  26. $pdf->ezSetCmMargins(1,1,1.5,1.5);
  27. $pdf->ezSetMargins(40,45,30,30);
  28. $pdf->ezStartPageNumbers(750,25,12,'','{PAGENUM} de {TOTALPAGENUM}',1);
  29. $Inicio=date("Y-m-d", js2PhpTime($fechaIni));
  30.         $Final=date("Y-m-d", js2PhpTime($fechaFin));
  31.         $resultado=mysql_query("SELECT RPEREGASIS, FECREGASIS, MIN(HORREGASIS) AS entrada, MAX(HORREGASIS) as salida
  32.            FROM registro WHERE RPEREGASIS='$trabajador' AND FECREGASIS BETWEEN '$Inicio' AND '$Final' GROUP BY RPEREGASIS, FECREGASIS");
  33.  
  34.         $totEmp = mysql_num_rows($resultado);
  35.  
  36. //aqui empieza a revisar los datos q hay en la tabla
  37. $ixx = 0;
  38. while($datatmp = mysql_fetch_assoc($resultado)) {
  39.     $ixx = $ixx+1;
  40.     $data[] = array_merge($datatmp, array('id'=>$ixx));
  41. }
  42. //dar el titulo a los encabezados de las columnas
  43. $titles = array(
  44.                 'id'=>'<b>Id</b>',
  45.                 'RPEREGASIS'=>'<b>RPE del Empleado</b>',
  46.                 'FECREGASIS'=>'<b>Fecha</b>',
  47.                 'entrada'=>'<b>Hora de Entrada</b>',
  48.                 'salida'=>'<b>Hora de Salida</b>'
  49.  
  50. //'fecha'=>'<b>fecha</b>',
  51. //'fecha_hoy'=>'<b>fecha actual</b>',
  52. //'dias'=>'<b>dias</b>'
  53. );
  54. //opciones de la tabla en el pdf
  55. $options = array(
  56.                 'shadeCol'=>array(0.9,0.9,0.9),
  57.                 'xOrientation'=>'center',
  58.                 'fontSize'=>8,
  59.                 'width'=>700,
  60.                 'colGap'=>2,
  61.                 'xPos'=>'centre',
  62. );
  63. $pdf->addJpegFromFile('ros.jpg',650,540,100);
  64. $txttit = "<b>Reporte</b>\n";
  65. $txttit.= "Solicitudes de zona \n";
  66. //datos que se agregan a la tabla al final de las paginas, fecha y hora
  67. $pdf->ezText($txttit, 12);
  68. $pdf->ezText($data, 12);
  69. $pdf->ezTable($data, $titles, '', $options);
  70. $pdf->ezText("\n\n\n", 10);
  71. $pdf->ezText("<b>Fecha:</b> ".date("d/m/Y"), 10);
  72. $pdf->ezText("<b>Hora:</b> ".date("H:i:s")."\n\n", 10);
  73. $pdf->ezStream();
  74.  
  75. /*if($row=mysql_fetch_array($resultado)){
  76. echo "<table border='1' align='center'>\n";
  77. echo "<tr><td>RPE Del Empleado</td><td>Fecha de Registro</td><td>Hora de Entrada</td><td>Hora de Salida</td></tr>\n";
  78. do{
  79.  
  80. echo "<tr><td>".$row["RPEREGASIS"]."</td><td>".$row["FECREGASIS"]."</td><td>".$row["entrada"]."</td><td>".$row["salida"]."</td></tr> \n";
  81. }while($row=mysql_fetch_array($resultado));
  82. echo "</table>\n";
  83. }
  84. else{
  85. echo "<center>El empleado no existe, &oacute; no se encuentra en ese rango de fechas</center>";
  86. }
  87. echo "<br><a href=\"user.php\">Regresar al menu</a>";
  88.             echo "<br><br></strong>   <a href=\"logout.php\">Cerrar sesi&oacute;n</a>";*/
  89. ?>
  90.  
  91.  
  92.     </body>
  93.             </html>

Etiquetas: datepicker, formato+de+fecha, mysql, pdf
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 06:20.