Foros del Web » Programando para Internet » PHP »

generar pdf php mysql

Estas en el tema de generar pdf php mysql en el foro de PHP en Foros del Web. Quiero generar un pdf que contenfa los datos de una consulta en forma de tabla. Este és el código: @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código PHP: Ver original ...
  #1 (permalink)  
Antiguo 22/01/2012, 10:03
 
Fecha de Ingreso: octubre-2011
Mensajes: 18
Antigüedad: 12 años, 6 meses
Puntos: 0
generar pdf php mysql

Quiero generar un pdf que contenfa los datos de una consulta en forma de tabla. Este és el código:



Código PHP:
Ver original
  1. <?
  2.  
  3. include('class.ezpdf.php');
  4.  
  5.     $pdf =& new Cezpdf('a4');//Crea el PDF en orientacion vertical
  6.     $pdf->selectFont('fonts/Broadsheet.afm');
  7.     $pdf->ezSetCmMargins(4,3,3,3);
  8.  
  9.  
  10. if(isset($_POST['enviar2'])) {
  11. mysql_connect('localhost','root','26121994')or die ('Ha fallado la conexi�n: '.mysql_error());
  12. mysql_select_db('Clients')or die ('Error al seleccionar la Base de Datos: '.mysql_error());
  13. $comanda =mysql_query("select id, usuari_compres, article, quantitat, preu, datainicial, datafinal, pagament from compres where from_Unixtime(datainicialu) BETWEEN DATE_SUB(FROM_UNIXTIME(UNIX_TIMESTAMP()), INTERVAL 30 DAY)
  14. AND FROM_UNIXTIME(UNIX_TIMESTAMP()) And pagament = 'si'");
  15. $comanda2 = mysql_num_rows($comanda);
  16.             if ($comanda2>0) {
  17.         $sql3 =  mysql_query("select id, usuari_compres, article, quantitat, preu, datainicial, datafinal, pagament from compres where from_Unixtime(datainicialu) BETWEEN DATE_SUB(FROM_UNIXTIME(UNIX_TIMESTAMP()), INTERVAL 30 DAY)
  18. AND FROM_UNIXTIME(UNIX_TIMESTAMP()) And pagament = 'si'");
  19.             }
  20.             else{
  21.                 echo "No hi ha comandes pendents de ser enviades";
  22.  
  23.             }
  24.            
  25.  
  26.  $i=0;
  27.  
  28.     $tipo=0;
  29.     $programa=0;
  30.    
  31.    
  32.     while($row = mysql_fetch_assoc ($result)){
  33.      $i++;
  34.      $usuari=$row['usuari_compres'];
  35.      $article=$row['article'];
  36.      $quantitat=$row['quantitat'];
  37.      $preu=$row['preu'];
  38.      $pagament=$row['pagament'];
  39.      $datainicial=$row['datainicial'];
  40.      $datafinal=$row['datafinal'];
  41.      $id=$row['id'];
  42.  
  43.       $datos_tabla[] = array_merge ($row, array ('id'=>$i));
  44.      
  45.     }
  46.    
  47.     //aca a traves de una tabla muestro los resultados
  48.     $titulos_tabla = array (
  49.                 'usuari_compres'=>'<b>No</b>',
  50.                 'article'=>'<b>Codigo Investigador</b>',
  51.                 'quantitat'=>'<b>Nombre Investigador</b>',
  52.                 'preu'=>'<b>Correo Electronico</b>',
  53.                 'pagament'=>'<b>Correo Electronico1</b>',
  54.                 'datainicial'=>'<b>Correo Electronico2</b>',
  55.                 'datafinal'=>'<b>Correo Electronico3</b>',
  56.                 'id'=>'<b>Correo Electronico4</b>'
  57.                
  58.                        
  59.                        
  60.        );
  61.        
  62.       $options = array (
  63.                 'shadeCol'=>array(0.9,0.9,0.9),
  64.                 'xOrientation'=>'center',
  65.                 'width'=>500
  66.             );
  67.            
  68.              
  69.           $pdf->ezText("<b>INFORME DE INVESTIGADORES</b>\n",18);
  70.         $pdf->ezText("<b>Tipo de Investigador:  Juan</b>\n",14);
  71.         $pdf->ezText("<b>Programa:   Palomo</b>\n",14);
  72.    
  73.     $pdf->ezTable($datos_tabla,$titulos_tabla,$options);
  74.     $pdf->ezText("\n\n\n", 10);
  75.     $pdf->ezText("<b>Fecha:</b> ".date ("d/m/Y"), 10);
  76.     $pdf->ezText("<b>Hora:</b> ".date ("H:i:s")."\n\n", 10);
  77.     $pdf->ezStream();
  78.  
  79. }
  80. ?>

Cuando se tendria que crear el pdf me aparece una ventana con el siguiente mensaje: El archivo está dañado y no puede repararse Local\EWHb%vqp'@w
y después de darle a aceptar la página se me queda en blanco. Alguien sabe porque me sucede esto?


PD: vereis que no coinciden cosas, como porejemplo el titulo de la columna de la tabla con los resultados o el encabezado... Es que es una prueba solo y no lo he modificado la parte externa digamos.
  #2 (permalink)  
Antiguo 22/01/2012, 10:21
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 8 meses
Puntos: 1532
Respuesta: generar pdf php mysql

Caracteres invisibles y espacio de lineas son los que pueden dañar el pdf, puedes prescindir del tag de cierre de PHP (?>) ,o usar exit;

PD: evite usar short tags en PHP debido a que están depreciados, use <?php
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...

Etiquetas: mysql, pdf, 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 04:18.