Foros del Web » Programando para Internet » PHP »

Crear PDF de una Consulta MYSQL, con varias variables PHP

Estas en el tema de Crear PDF de una Consulta MYSQL, con varias variables PHP en el foro de PHP en Foros del Web. Hola buenas tardes llevo dias leyendo mucho sobre este tema y no eh podido resolver mi problema, les expongo mi duda y muchas gracias de ...
  #1 (permalink)  
Antiguo 25/01/2011, 13:32
 
Fecha de Ingreso: enero-2011
Ubicación: En un Cuarto Cubierto de Pasto Verde
Mensajes: 95
Antigüedad: 13 años, 10 meses
Puntos: 3
Crear PDF de una Consulta MYSQL, con varias variables PHP

Hola buenas tardes llevo dias leyendo mucho sobre este tema y no eh podido resolver mi problema, les expongo mi duda y muchas gracias de ante mano por su amable ayuda.

Tengo 7 tablas 6 de ellas relacionadas por el id a la 7 tabla.

Por medio de un formulario (send.php) envio a (mes.php) las siguientes variables:
Código PHP:
Ver original
  1. $mesIni=$_POST['mesesIni'];
  2. $anioIni=$_POST['anioIni'];
  3. $diaIni=$_POST['diaIni'];
  4. $mesFinal=$_POST['mesesFinal'];
  5. $anioFinal=$_POST['anioFinal'];
  6. $diaFinal=$_POST['diasFinal'];

Las cuales me ayudan para realizar la siguiente consulta a mi tabla task, la cual me devuelve el nombre de cada uno de los campos relacionados por el id de su respectiva tabla, dependiento el rango de fecha que especifico en mi formulario(send.php).

Código PHP:
Ver original
  1. $cadena ="SELECT DISTINCT task.id,area.nombre, equipoproceso.nombre as nombre1, problema.nombre as nombre2,task.descripcion as nombre3, accioncorrectiva.nombre as nombre4, departamento.nombre as nombre5, task.fecha as nombre6
  2. FROM area, equipoproceso, problema, accioncorrectiva, departamento, responsable, task
  3. WHERE area.id = task.nomArea AND equipoproceso.id = task.nomProce AND problema.id = task.nomProblema AND accioncorrectiva.id = task.nomAccion AND departamento.id = task.nomDepar AND FECHA>= '$anioIni' '$mesIni' '$diaIni' AND FECHA <= '$anioFinal' '$mesFinal' '$diaFinal' ORDER BY area.nombre";

Hasta aqui todo bien.

El problema es que ahora en base a esa consulta generada por el usuario y que variara segun la fecha de inicio y fecha final que el usuario ingrese quiero poder generar un pdf con esa consulta.

Eh intentado con ezpdf y fpdf y no logro hacerlo funcionar, lo mas que he logrado es, introduciendo los valores reales directamente a la consulta en la clase fpdf, solo asi si me genera mi reporte correctamente, si dejo las variables en la consulta que hago dentro de la clase fpdf no me genera nada.

¿Como puedo enviar esas mismas variables que paso a mi consulta (mes.php) ala clase que genera mi pdf?

Hay alguna clase que genere pdf que se pueda acomodar mejor a lo que deseo realizar?.

Espero haberme explicado bien, reitero mis agradecimientos a su amable ayuda. Saludos.
  #2 (permalink)  
Antiguo 25/01/2011, 14:12
Avatar de egepe  
Fecha de Ingreso: diciembre-2009
Mensajes: 310
Antigüedad: 14 años, 11 meses
Puntos: 7
Respuesta: Crear PDF de una Consulta MYSQL, con varias variables PHP

Creo que debes tener algun problema en cómo envias la informacion. Te recomiento que revises en fpdf la seccion de script y hay varios ejemplos mysql. Hay uno que dice :

23/11/2002 Carlos Vásquez Sáez Example with MySQL

Seleccionalo y prueba que funciona.

Saludos
  #3 (permalink)  
Antiguo 25/01/2011, 15:49
 
Fecha de Ingreso: abril-2009
Ubicación: Colombia
Mensajes: 949
Antigüedad: 15 años, 6 meses
Puntos: 27
Respuesta: Crear PDF de una Consulta MYSQL, con varias variables PHP

Ese problema lo tuve yo hace algunos meses, yo inclui las clases:

ezpdf y pdf

En mi formulario seleccion las variables y por POST
Las recibo en otro archivo .php (llamemoslo recibiendo.php)

Entonces en el archivo recibiendo .php tengo lo siguiente:

Código PHP:
Ver original
  1. <?
  2.     include('class.ezpdf.php');
  3.    
  4.     $variable1= $_POST['variable1'];
  5.     $variable2= $_POST['variable2'];
  6.    
  7.     //Orientacion del documento vertical='portrait' o horizontal='landscape'
  8.     $pdf =& new Cezpdf('a4');//Crea el PDF en orientacion vertical
  9.     $pdf->selectFont('fonts/Broadsheet.afm');
  10.     $pdf->ezSetCmMargins(4,3,3,3);
  11.  
  12. //conexion
  13.     @ $db = mysql_connect('localhost', 'root', 'root');
  14.     mysql_select_db('idead',$db);
  15.  
  16. //aca va la consulta
  17.    
  18. $query = "SELECT ........." ;
  19.  
  20.  
  21. //si no hay resultados
  22.  
  23.    $result = mysql_query($query,$db) or die(mysql_error());
  24.    $num_results = mysql_num_rows($result);
  25.    
  26.   if($num_results==0){
  27.    
  28.    
  29. echo '<h1> <center>RESULTADOS DE INFORME </center></h1>';
  30. echo "<br>";
  31.        
  32. echo '<h2> No se ha encontrado información  para generar un informe  </h2>';
  33.    
  34.    
  35.    
  36. echo "<h2><a href='informes.php' a style='text-decoration:none;' > <p><b> Regresar a la sección de Informes</b></h2></a></p>";
  37.     exit;
  38.     }
  39.  
  40.     $i=0;
  41.  
  42.     $tipo=0;
  43.     $programa=0;
  44.    
  45.    
  46.     while($row = mysql_fetch_assoc($result)){
  47.       $i++;
  48.       $tipo=$row['tipo_integrante'];
  49.       $programa=$row['nomprogra'];
  50.  
  51.       $datos_tabla[] = array_merge($row, array('num'=>$i));
  52.      
  53.     }
  54.    
  55.     //aca a traves de una tabla muestro los resultados
  56.     $titulos_tabla = array(
  57.                 'num'=>'<b>No</b>',
  58.                 'cod_integrante'=>'<b>Codigo Investigador</b>',
  59.                 'nom_integrante'=>'<b>Nombre Investigador</b>',
  60.                 'correo_integrante'=>'<b>Correo Electronico</b>'
  61.                
  62.                        
  63.                        
  64.        );
  65.      
  66.    
  67.      
  68.     $pdf->ezText("<b>INFORME DE INVESTIGADORES</b>\n",18);
  69.         $pdf->ezText("<b>Tipo de Investigador:   $variable1</b>\n",14);
  70.         $pdf->ezText("<b>Programa:   $variable2</b>\n",14);
  71.    
  72.     $pdf->ezTable($datos_tabla,$titulos_tabla,$options);
  73.     $pdf->ezText("\n\n\n", 10);
  74.     $pdf->ezText("<b>Fecha:</b> ".date("d/m/Y"), 10);
  75.     $pdf->ezText("<b>Hora:</b> ".date("H:i:s")."\n\n", 10);
  76.     $pdf->ezStream();
  77.  
  78.  
  79. ?>
  #4 (permalink)  
Antiguo 25/01/2011, 16:08
 
Fecha de Ingreso: enero-2011
Ubicación: En un Cuarto Cubierto de Pasto Verde
Mensajes: 95
Antigüedad: 13 años, 10 meses
Puntos: 3
Respuesta: Crear PDF de una Consulta MYSQL, con varias variables PHP

Cita:
Iniciado por egepe Ver Mensaje
Creo que debes tener algun problema en cómo envias la informacion. Te recomiento que revises en fpdf la seccion de script y hay varios ejemplos mysql. Hay uno que dice :

23/11/2002 Carlos Vásquez Sáez Example with MySQL

Seleccionalo y prueba que funciona.

Saludos
Hola egepe muchas gracias por tu respuesta,

ya cheque el codigo del ejemplo, pero lo que hace ahí ese ejemplo ya lo logro hacer, osea solo muestra campos de una tabla y los imprime, eso ya lo logro hacer con mi consulta el problema que tengo es que no puedo generar consultas con variables enviadas desde un formulario de otro archivo.

Quiero hacer algo asi como

formulario.php --- envie >>>> $suma $resta ---- a este formulario >>>> procesarpdf.php

Muchisimas gracias seguire intentando.
  #5 (permalink)  
Antiguo 25/01/2011, 16:11
 
Fecha de Ingreso: enero-2011
Ubicación: En un Cuarto Cubierto de Pasto Verde
Mensajes: 95
Antigüedad: 13 años, 10 meses
Puntos: 3
Respuesta: Crear PDF de una Consulta MYSQL, con varias variables PHP

Cita:
Iniciado por oscarbt Ver Mensaje
Ese problema lo tuve yo hace algunos meses, yo inclui las clases:

ezpdf y pdf

En mi formulario seleccion las variables y por POST
Las recibo en otro archivo .php (llamemoslo recibiendo.php)

Entonces en el archivo recibiendo .php tengo lo siguiente:

Código PHP:
Ver original
  1. <?
  2.     include('class.ezpdf.php');
  3.    
  4.     $variable1= $_POST['variable1'];
  5.     $variable2= $_POST['variable2'];
  6.    
  7.     //Orientacion del documento vertical='portrait' o horizontal='landscape'
  8.     $pdf =& new Cezpdf('a4');//Crea el PDF en orientacion vertical
  9.     $pdf->selectFont('fonts/Broadsheet.afm');
  10.     $pdf->ezSetCmMargins(4,3,3,3);
  11.  
  12. //conexion
  13.     @ $db = mysql_connect('localhost', 'root', 'root');
  14.     mysql_select_db('idead',$db);
  15.  
  16. //aca va la consulta
  17.    
  18. $query = "SELECT ........." ;
  19.  
  20.  
  21. //si no hay resultados
  22.  
  23.    $result = mysql_query($query,$db) or die(mysql_error());
  24.    $num_results = mysql_num_rows($result);
  25.    
  26.   if($num_results==0){
  27.    
  28.    
  29. echo '<h1> <center>RESULTADOS DE INFORME </center></h1>';
  30. echo "<br>";
  31.        
  32. echo '<h2> No se ha encontrado información  para generar un informe  </h2>';
  33.    
  34.    
  35.    
  36. echo "<h2><a href='informes.php' a style='text-decoration:none;' > <p><b> Regresar a la sección de Informes</b></h2></a></p>";
  37.     exit;
  38.     }
  39.  
  40.     $i=0;
  41.  
  42.     $tipo=0;
  43.     $programa=0;
  44.    
  45.    
  46.     while($row = mysql_fetch_assoc($result)){
  47.       $i++;
  48.       $tipo=$row['tipo_integrante'];
  49.       $programa=$row['nomprogra'];
  50.  
  51.       $datos_tabla[] = array_merge($row, array('num'=>$i));
  52.      
  53.     }
  54.    
  55.     //aca a traves de una tabla muestro los resultados
  56.     $titulos_tabla = array(
  57.                 'num'=>'<b>No</b>',
  58.                 'cod_integrante'=>'<b>Codigo Investigador</b>',
  59.                 'nom_integrante'=>'<b>Nombre Investigador</b>',
  60.                 'correo_integrante'=>'<b>Correo Electronico</b>'
  61.                
  62.                        
  63.                        
  64.        );
  65.      
  66.    
  67.      
  68.     $pdf->ezText("<b>INFORME DE INVESTIGADORES</b>\n",18);
  69.         $pdf->ezText("<b>Tipo de Investigador:   $variable1</b>\n",14);
  70.         $pdf->ezText("<b>Programa:   $variable2</b>\n",14);
  71.    
  72.     $pdf->ezTable($datos_tabla,$titulos_tabla,$options);
  73.     $pdf->ezText("\n\n\n", 10);
  74.     $pdf->ezText("<b>Fecha:</b> ".date("d/m/Y"), 10);
  75.     $pdf->ezText("<b>Hora:</b> ".date("H:i:s")."\n\n", 10);
  76.     $pdf->ezStream();
  77.  
  78.  
  79. ?>
Hola oscarbt muchas gracias por tu respuesta, podrias ponerme como esta construida tu base de datos de ese ejemplo para poder ver el ejemplo "funcionando" si pudieras hacerlo me serviria de mucho.
  #6 (permalink)  
Antiguo 25/01/2011, 16:32
 
Fecha de Ingreso: abril-2009
Ubicación: Colombia
Mensajes: 949
Antigüedad: 15 años, 6 meses
Puntos: 27
Respuesta: Crear PDF de una Consulta MYSQL, con varias variables PHP

Ok va un ejemplo sencillo:
Tengo dos tablas:

egresado:

Código SQL:
Ver original
  1. CREATE TABLE `egresado` (
  2.   `NUM_CED_EGR` INT(11) NOT NULL,
  3.   `COD_PRO` INT(11) NOT NULL,
  4.    `NOM_EGR` CHAR(25) DEFAULT NULL,
  5.   `APE_EGR` CHAR(25) DEFAULT NULL,
  6.  
  7.   PRIMARY KEY  (`NUM_CED_EGR`),
  8.   KEY `FK_PROGRAMA_EGRESADO` (`COD_PRO`)
  9.  
  10. ) ENGINE=MyISAM DEFAULT CHARSET=utf8;

Fijate que el campo COD_PRO es foraneo

Ahora mi segunda tabla.

programa:

Código SQL:
Ver original
  1. CREATE TABLE `programa` (
  2.   `COD_PRO` INT(11) NOT NULL,
  3.  
  4.   `NOM_PRO` CHAR(50) DEFAULT NULL,
  5.   PRIMARY KEY  (`COD_PRO`)
  6.  
  7. ) ENGINE=MyISAM DEFAULT CHARSET=utf8;

Ahora tengo un formulario con selects donde selecciono el programa para posteriormente mostrar las personas que pertenecen a dicho programa:

entrada.php

Código PHP:
Ver original
  1. <form action="informepdf.php" method="post" name="form1" id="form1" >
  2.  
  3. Seleccione un programa
  4.  
  5. <?
  6. include ("funciones.php"); //ACA APARCEN LOS DATOS DE USUARIO, CONTRASEÑA, SERVIDOR
  7.    
  8. $bs = conectar ( "egresados" );
  9.        
  10.     echo "<select name= 'programa'>
  11.         <option value=0 selected>Seleccione el programa</option>";
  12.  
  13.     $qry = "SELECT * FROM programa";
  14.     $resultado = mysql_query($qry, $bs);
  15.     if ( !resultado )
  16.         die( "Error ejecutando la Consulta");
  17.        
  18.     $i=1;
  19.     $numero_filas = mysql_num_rows($resultado);
  20.  
  21.     while($i <= $numero_filas){
  22.         $fila = mysql_fetch_array( $resultado );
  23.         echo "<option value='$fila[COD_PRO]'> $fila[NOM_PRO] </option>";
  24.        
  25.         $i = $i + 1;
  26.     }
  27.     echo "</select>";
  28.     mysql_close ( $bs );
  29.    
  30. ?>
  31.  
  32. //Ahora el boton
  33.  
  34.  <input type="submit" name="enviar" id="enviar" value="Generar informe" />

Y finalmente el archivo informepdf.php



Código PHP:
Ver original
  1. <?
  2.     include('class.ezpdf.php');
  3.    
  4.    
  5.     $programa = $_POST['programa'];
  6.    
  7.     //Orientacion del documento vertical='portrait' o horizontal='landscape'
  8.     $pdf =& new Cezpdf('a4');//Crea el PDF en orientacion vertical
  9.     $pdf->selectFont('fonts/Broadsheet.afm');
  10.     $pdf->ezSetCmMargins(4,3,3,3);
  11.  
  12.     @ $db = mysql_connect('localhost', 'root', 'root');
  13.     mysql_select_db('egresados',$db);
  14.    
  15.     $query = "SELECT e.NUM_CED_EGR, e.NOM_EGR, e.APE_EGR, p.NOM_PRO from
  16.           egresado e, programa p
  17.           where p.COD_PRO= e.COD_PRO and e.COD_PRO= ".$programa."
  18.  
  19. ";
  20.  
  21.  
  22.    $result = mysql_query($query,$db) or die(mysql_error());
  23.    $num_results = mysql_num_rows($result);
  24.    
  25.    if($num_results==0){
  26.    
  27.    
  28.         echo '<h1> <center>RESULTADOS DE INFORME </center></h1>';
  29.         echo "<br>";
  30.        
  31.     echo '<h2> No se ha encontrado información  para generar un informe  </h2>';
  32.    
  33.    
  34.    
  35.     echo "<h2><a href='informes.php' a style='text-decoration:none;' > <p><b> Regresar a la sección de Informes</b></h2></a></p>";
  36.     exit;
  37.     }
  38.  
  39.     $i=0;
  40.  
  41.    
  42.     $nom_pro=0;
  43.    
  44.     while($row = mysql_fetch_assoc($result)){
  45.       $i++;
  46.      
  47.       $programa=$row['nomprogra'];
  48.      
  49.       $datos_tabla[] = array_merge($row, array('num'=>$i));
  50.      
  51.     }
  52.    
  53.    
  54.     $titulos_tabla = array(
  55.                 'num'=>'<b>No</b>',
  56.                 'NUM_CED_EGR'=>'<b>Cedular</b>',
  57.                 'NOM_EGR'=>'<b>Nombres</b>',
  58.                     'APE_EGR'=>'<b>Apellidos</b>'
  59.                
  60.                        
  61.                        
  62.        );
  63.      
  64.      
  65.      
  66.      
  67.     $pdf->ezText("<b>INFORME DE INVESTIGADORES POR PROGRAMA</b>\n",18);
  68.     $pdf->ezText("<b>Programa:  $programa </b>\n",14);
  69.    
  70.    
  71.     $pdf->ezTable($datos_tabla,$titulos_tabla,$options);
  72.     $pdf->ezText("\n\n\n", 10);
  73.     $pdf->ezText("<b>Fecha:</b> ".date("d/m/Y"), 10);
  74.     $pdf->ezText("<b>Hora:</b> ".date("H:i:s")."\n\n", 10);
  75.     $pdf->ezStream();
  76.  
  77.  
  78. ?>

Espero te sirva, saludos
  #7 (permalink)  
Antiguo 25/01/2011, 16:33
 
Fecha de Ingreso: abril-2009
Ubicación: Colombia
Mensajes: 949
Antigüedad: 15 años, 6 meses
Puntos: 27
Respuesta: Crear PDF de una Consulta MYSQL, con varias variables PHP

en el archivo entrada.php olvide cerrar el form

Solo colocale

</form>
Al final
  #8 (permalink)  
Antiguo 25/01/2011, 17:15
 
Fecha de Ingreso: julio-2010
Mensajes: 275
Antigüedad: 14 años, 4 meses
Puntos: 21
Respuesta: Crear PDF de una Consulta MYSQL, con varias variables PHP

a mi solo me muestan cuadros en blancos, sin texto
  #9 (permalink)  
Antiguo 25/01/2011, 17:36
 
Fecha de Ingreso: abril-2009
Ubicación: Colombia
Mensajes: 949
Antigüedad: 15 años, 6 meses
Puntos: 27
Respuesta: Crear PDF de una Consulta MYSQL, con varias variables PHP

agregale datos a las tablas
muestra asi porque estan vacias
  #10 (permalink)  
Antiguo 25/01/2011, 18:16
 
Fecha de Ingreso: enero-2011
Ubicación: En un Cuarto Cubierto de Pasto Verde
Mensajes: 95
Antigüedad: 13 años, 10 meses
Puntos: 3
Respuesta: Crear PDF de una Consulta MYSQL, con varias variables PHP

Cita:
Iniciado por oscarbt Ver Mensaje
Ok va un ejemplo sencillo:
Tengo dos tablas:

egresado:

Código SQL:
Ver original
  1. CREATE TABLE `egresado` (
  2.   `NUM_CED_EGR` INT(11) NOT NULL,
  3.   `COD_PRO` INT(11) NOT NULL,
  4.    `NOM_EGR` CHAR(25) DEFAULT NULL,
  5.   `APE_EGR` CHAR(25) DEFAULT NULL,
  6.  
  7.   PRIMARY KEY  (`NUM_CED_EGR`),
  8.   KEY `FK_PROGRAMA_EGRESADO` (`COD_PRO`)
  9.  
  10. ) ENGINE=MyISAM DEFAULT CHARSET=utf8;

Fijate que el campo COD_PRO es foraneo

Ahora mi segunda tabla.

programa:

Código SQL:
Ver original
  1. CREATE TABLE `programa` (
  2.   `COD_PRO` INT(11) NOT NULL,
  3.  
  4.   `NOM_PRO` CHAR(50) DEFAULT NULL,
  5.   PRIMARY KEY  (`COD_PRO`)
  6.  
  7. ) ENGINE=MyISAM DEFAULT CHARSET=utf8;

Ahora tengo un formulario con selects donde selecciono el programa para posteriormente mostrar las personas que pertenecen a dicho programa:

entrada.php

Código PHP:
Ver original
  1. <form action="informepdf.php" method="post" name="form1" id="form1" >
  2.  
  3. Seleccione un programa
  4.  
  5. <?
  6. include ("funciones.php"); //ACA APARCEN LOS DATOS DE USUARIO, CONTRASEÑA, SERVIDOR
  7.    
  8. $bs = conectar ( "egresados" );
  9.        
  10.     echo "<select name= 'programa'>
  11.         <option value=0 selected>Seleccione el programa</option>";
  12.  
  13.     $qry = "SELECT * FROM programa";
  14.     $resultado = mysql_query($qry, $bs);
  15.     if ( !resultado )
  16.         die( "Error ejecutando la Consulta");
  17.        
  18.     $i=1;
  19.     $numero_filas = mysql_num_rows($resultado);
  20.  
  21.     while($i <= $numero_filas){
  22.         $fila = mysql_fetch_array( $resultado );
  23.         echo "<option value='$fila[COD_PRO]'> $fila[NOM_PRO] </option>";
  24.        
  25.         $i = $i + 1;
  26.     }
  27.     echo "</select>";
  28.     mysql_close ( $bs );
  29.    
  30. ?>
  31.  
  32. //Ahora el boton
  33.  
  34.  <input type="submit" name="enviar" id="enviar" value="Generar informe" />

Y finalmente el archivo informepdf.php



Código PHP:
Ver original
  1. <?
  2.     include('class.ezpdf.php');
  3.    
  4.    
  5.     $programa = $_POST['programa'];
  6.    
  7.     //Orientacion del documento vertical='portrait' o horizontal='landscape'
  8.     $pdf =& new Cezpdf('a4');//Crea el PDF en orientacion vertical
  9.     $pdf->selectFont('fonts/Broadsheet.afm');
  10.     $pdf->ezSetCmMargins(4,3,3,3);
  11.  
  12.     @ $db = mysql_connect('localhost', 'root', 'root');
  13.     mysql_select_db('egresados',$db);
  14.    
  15.     $query = "SELECT e.NUM_CED_EGR, e.NOM_EGR, e.APE_EGR, p.NOM_PRO from
  16.           egresado e, programa p
  17.           where p.COD_PRO= e.COD_PRO and e.COD_PRO= ".$programa."
  18.  
  19. ";
  20.  
  21.  
  22.    $result = mysql_query($query,$db) or die(mysql_error());
  23.    $num_results = mysql_num_rows($result);
  24.    
  25.    if($num_results==0){
  26.    
  27.    
  28.         echo '<h1> <center>RESULTADOS DE INFORME </center></h1>';
  29.         echo "<br>";
  30.        
  31.     echo '<h2> No se ha encontrado información  para generar un informe  </h2>';
  32.    
  33.    
  34.    
  35.     echo "<h2><a href='informes.php' a style='text-decoration:none;' > <p><b> Regresar a la sección de Informes</b></h2></a></p>";
  36.     exit;
  37.     }
  38.  
  39.     $i=0;
  40.  
  41.    
  42.     $nom_pro=0;
  43.    
  44.     while($row = mysql_fetch_assoc($result)){
  45.       $i++;
  46.      
  47.       $programa=$row['nomprogra'];
  48.      
  49.       $datos_tabla[] = array_merge($row, array('num'=>$i));
  50.      
  51.     }
  52.    
  53.    
  54.     $titulos_tabla = array(
  55.                 'num'=>'<b>No</b>',
  56.                 'NUM_CED_EGR'=>'<b>Cedular</b>',
  57.                 'NOM_EGR'=>'<b>Nombres</b>',
  58.                     'APE_EGR'=>'<b>Apellidos</b>'
  59.                
  60.                        
  61.                        
  62.        );
  63.      
  64.      
  65.      
  66.      
  67.     $pdf->ezText("<b>INFORME DE INVESTIGADORES POR PROGRAMA</b>\n",18);
  68.     $pdf->ezText("<b>Programa:  $programa </b>\n",14);
  69.    
  70.    
  71.     $pdf->ezTable($datos_tabla,$titulos_tabla,$options);
  72.     $pdf->ezText("\n\n\n", 10);
  73.     $pdf->ezText("<b>Fecha:</b> ".date("d/m/Y"), 10);
  74.     $pdf->ezText("<b>Hora:</b> ".date("H:i:s")."\n\n", 10);
  75.     $pdf->ezStream();
  76.  
  77.  
  78. ?>

Espero te sirva, saludos

Hola oscarbt muchisimas gracias por tu codigo.

Lo intente correr y me generaba un error en la primer pantalla lo modifique y ya me funciona asi me quedo el codigo.
Código PHP:
Ver original
  1. <?php
  2. include('conexion.php');
  3. $link = conectarse();
  4. ?>
  5. <html>
  6. <body>
  7. <form action="informepdf.php" method="post" name="form1" id="form1" >
  8. <b>Area:
  9.        
  10.         <?php
  11.             // Realizar una consulta SQL
  12.             $consulta = 'SELECT * FROM programa';
  13.             $resultado = mysql_query($consulta) or die('La consulta falló: ' . mysql_error());
  14.  
  15.             // Impresion de resultados en HTML
  16.             echo "<select name=\"area\">\n";
  17.             while ($linea = mysql_fetch_array($resultado, MYSQL_ASSOC)) {
  18.             $area = $linea["NOM_PRO"];
  19.             $idArea = $linea["COD_PRO"];
  20.             echo "<option value=".$idArea.">".$area."</option>\n";
  21.             }
  22.                 $res=$row["area"];
  23.                 echo "</select>\n";
  24.                 mysql_free_result($resultado);           
  25.                
  26.             ?>  
  27.  
  28.         <br><br>           
  29.                
  30.         <input type="submit" value="enviar">
  31. </form>
  32. </body>
  33. </html>

El problema es que al hacer submit no me carga el otro archivo y me marca el siguiente error:
Código HTML:
Parse error: syntax error, unexpected T_INCLUDE in C:\xampp\htdocs\busqueda1\informepdf.php on line 2
y mi el codigo de ese archvo es el siguiente:
Código PHP:
Ver original
  1. <?php
  2. *    include('class.ezpdf.php');
  3. * * //Orientacion del documento vertical='portrait' o horizontal='landscape'
  4. * * $pdf =& new Cezpdf('a4');//Crea el PDF en orientacion vertical
  5. * * $pdf->selectFont('fonts/Broadsheet.afm');
  6. * * $pdf->ezSetCmMargins(4,3,3,3);
  7. *
  8. * * @ $db = mysql_connect('localhost', 'root', '');
  9. * * mysql_select_db('ejemplo',$db);
  10. * * $programa = $_POST['area'];* *
  11. * * $query = "SELECT e.NUM_CED_EGR, e.NOM_EGR, e.APE_EGR, p.NOM_PRO from
  12. * * * * * egresado e, programa p
  13. * * * * * where p.COD_PRO= e.COD_PRO and e.COD_PRO='$programa";
  14. *
  15. *
  16. * *$result = mysql_query($query,$db) or die(mysql_error());
  17. * *$num_results = mysql_num_rows($result);
  18. * *
  19. * *if($num_results==0){
  20. * *
  21. * *
  22. * * * * echo '<h1> <center>RESULTADOS DE INFORME </center></h1>';
  23. * * * * echo "<br>";
  24. * * * *
  25. * * echo '<h2> No se ha encontrado información *para generar un informe *</h2>';
  26. * *
  27. * *
  28. * *
  29. * * echo "<h2><a href='informes.php' a style='text-decoration:none;' > <p><b> Regresar a la sección de Informes</b></h2></a></p>";
  30. * * exit;
  31. * * }
  32. *
  33. * * $i=0;
  34. *
  35. * *
  36. * * $nom_pro=0;
  37. * *
  38. * * while($row = mysql_fetch_assoc($result)){
  39. * * * $i++;
  40. * * *
  41. * * * $programa=$row['nomprogra'];
  42. * * *
  43. * * * $datos_tabla[] = array_merge($row, array('num'=>$i));
  44. * * *
  45. * * }
  46. * *
  47. * *
  48. * * $titulos_tabla = array(
  49. * * * * * * * * 'num'=>'<b>No</b>',
  50. * * * * * * * * 'NUM_CED_EGR'=>'<b>Cedular</b>',
  51. * * * * * * * * 'NOM_EGR'=>'<b>Nombres</b>',
  52. * * * * * * * * * * 'APE_EGR'=>'<b>Apellidos</b>' * * * * * * * *
  53. * * * * * * * * * * * *
  54. * * * *);
  55. * * *
  56. * * *
  57. * * *
  58. * * *
  59. * * $pdf->ezText("<b>INFORME DE INVESTIGADORES POR PROGRAMA</b>\n",18);
  60. * * $pdf->ezText("<b>Programa: *$programa </b>\n",14);
  61. * *
  62. * *
  63. * * $pdf->ezTable($datos_tabla,$titulos_tabla,$options);
  64. * * $pdf->ezText("\n\n\n", 10);
  65. * * $pdf->ezText("<b>Fecha:</b> ".date("d/m/Y"), 10);
  66. * * $pdf->ezText("<b>Hora:</b> ".date("H:i:s")."\n\n", 10);
  67. * * $pdf->ezStream();
  68. *
  69. *
  70. ?>

Seuire intentando mientras tanto muchisimas gracias por tus rspuestas. Saludos
  #11 (permalink)  
Antiguo 25/01/2011, 18:49
 
Fecha de Ingreso: enero-2011
Ubicación: En un Cuarto Cubierto de Pasto Verde
Mensajes: 95
Antigüedad: 13 años, 10 meses
Puntos: 3
Respuesta: Crear PDF de una Consulta MYSQL, con varias variables PHP

Muchas Gracias a oscarbt por que gracias a su codigo que me proporciono lo modifique un poco y ya funciono con una variable, ahora intentare "acomodarlo" a mi problema a continuacion pongo el codigo de como me funciono a mi.

entrada.php
Código PHP:
Ver original
  1. <?php
  2. include('conexion.php');
  3. $link = conectarse();
  4. ?>
  5. <html>
  6. <body>
  7. <form action="informepdf.php" method="post" name="form1" id="form1" >
  8. <b>Area:
  9.        
  10.         <?php
  11.             // Realizar una consulta SQL
  12.             $consulta = 'SELECT * FROM programa';
  13.             $resultado = mysql_query($consulta) or die('La consulta falló: ' . mysql_error());
  14.  
  15.             // Impresion de resultados en HTML
  16.             echo "<select name=\"area\">\n";
  17.             while ($linea = mysql_fetch_array($resultado, MYSQL_ASSOC)) {
  18.             $area = $linea["NOM_PRO"];
  19.             $idArea = $linea["COD_PRO"];
  20.             echo "<option value=".$idArea.">".$area."</option>\n";
  21.             }
  22.                 $res=$row["area"];
  23.                 echo "</select>\n";
  24.                 mysql_free_result($resultado);           
  25.                
  26.             ?>  
  27.  
  28.         <br><br>           
  29.                
  30.         <input type="submit" value="enviar">
  31. </form>
  32. </body>
  33. </html>

informepdf.php
Código PHP:
Ver original
  1. <?php
  2. $programa = $_POST['area'];
  3. include('class.ezpdf.php');
  4. include('conexion.php');
  5. $link=conectarse();
  6. //Orientacion del documento vertical='portrait' o horizontal='landscape'
  7. $pdf =& new Cezpdf('a4');//Crea el PDF en orientacion vertical
  8. $pdf->selectFont('fonts/Broadsheet.afm');
  9. $pdf->ezSetCmMargins(4,3,3,3);
  10. $query = "SELECT e.NUM_CED_EGR, e.NOM_EGR, e.APE_EGR, p.NOM_PRO from egresado e, programa p where p.COD_PRO = e.COD_PRO and e.COD_PRO =".$programa."";
  11. $result = mysql_query($query) or die(mysql_error());
  12. $num_results = mysql_num_rows($result);
  13. if($num_results==0){
  14. echo '<h1> <center>RESULTADOS DE INFORME </center></h1>';
  15. echo "<br>";
  16. echo '<h2> No se ha encontrado información *para generar un informe *</h2>';
  17. echo "<h2><a href='entrada.php' a style='text-decoration:none;' > <p><b> Regresar a la sección de Informes</b></h2></a></p>";
  18. }
  19. $i=0;
  20. $nom_pro=0;
  21. while($row = mysql_fetch_assoc($result)){
  22. $i++;
  23. $programa=$row['NOM_PRO'];
  24. $datos_tabla[] = array_merge($row, array('num'=>$i));
  25. }
  26. $titulos_tabla = array(
  27. 'num'=>'<b>No</b>',
  28. 'NUM_CED_EGR'=>'<b>Cedular</b>',
  29. 'NOM_EGR'=>'<b>Nombres</b>',
  30. 'APE_EGR'=>'<b>Apellidos</b>');
  31. $pdf->ezText("<b>INFORME DE INVESTIGADORES POR PROGRAMA</b>\n",18);
  32. $pdf->ezText("<b>Programa: *$programa </b>\n",14);
  33. $pdf->ezTable($datos_tabla,$titulos_tabla,$options);
  34. $pdf->ezText("\n\n\n", 10);
  35. $pdf->ezText("<b>Fecha:</b> ".date("d/m/Y"), 10);
  36. $pdf->ezText("<b>Hora:</b> ".date("H:i:s")."\n\n", 10);
  37. $pdf->ezStream();
  38. ?>

Muchas gracias por el empujon en la solucion de mi problema, este codigo que pegue solo tiene un pequeño detalle al generar el pdf alado de la leyenda "Programa" me aparece un simbolo raro el cual no se porque aparece tratare de solucionarlo si puedo cuelgo el codigo.

Si soluciono mi problema informare como me fue. Saludos
  #12 (permalink)  
Antiguo 25/01/2011, 19:57
 
Fecha de Ingreso: abril-2009
Ubicación: Colombia
Mensajes: 949
Antigüedad: 15 años, 6 meses
Puntos: 27
Respuesta: Crear PDF de una Consulta MYSQL, con varias variables PHP

de nada, y si quieres añadirle mas selecciones, solo agregalas en el formulario (entrada.php) y tendrias que modificar la consulta, nada mas....
  #13 (permalink)  
Antiguo 26/01/2011, 11:04
 
Fecha de Ingreso: enero-2011
Ubicación: En un Cuarto Cubierto de Pasto Verde
Mensajes: 95
Antigüedad: 13 años, 10 meses
Puntos: 3
De acuerdo Respuesta: Crear PDF de una Consulta MYSQL, con varias variables PHP

[SOLUCIONADO]
Problema Resuelto, en base al codigo anterior, lo modifique para que me aceptara n variables se recogen de la misma forma que el ejemplo anterior, muchas gracias a oscarbt por su ayuda. Saludos
  #14 (permalink)  
Antiguo 02/02/2011, 17:24
 
Fecha de Ingreso: julio-2010
Mensajes: 275
Antigüedad: 14 años, 4 meses
Puntos: 21
Respuesta: Crear PDF de una Consulta MYSQL, con varias variables PHP

[SOLUCIONADO]
Siento reabrir este tema, pero yo también solucioné mi asunto, para poder cagar el documento en ezpdf tuve que cargarlo desde una carpeta distinta a donde está alojada la web...
No sé cuál es la razón, pero cambié las líneas de código para cargar desde una dirección de disco duro distinta...
  #15 (permalink)  
Antiguo 08/09/2011, 14:37
 
Fecha de Ingreso: enero-2011
Ubicación: En un Cuarto Cubierto de Pasto Verde
Mensajes: 95
Antigüedad: 13 años, 10 meses
Puntos: 3
Respuesta: Crear PDF de una Consulta MYSQL, con varias variables PHP

Cita:
Iniciado por stuart_david3 Ver Mensaje
Hola muchas gracias por su aportación, me gustaría que llegasen a leer esto, yo también estoy haciendo una aplicación parecida, pero por más que he buscado me marca siempre el mismo error con diferentes códigos, este se ve muy completo y es muy parecido al que yo quiero implementar a continuación les dejo el código y bueno espero que me puedan ayudar...

Código PHP:
Ver original
  1. <?php
  2. include('class.ezpdf.php');
  3. $conectar=mysql_connect('localhost','root','');
  4.         if($conectar=NULL)
  5.         {
  6.             printf("Error al conectar a la Base de datos");
  7.         }
  8.  
  9.         mysql_select_db('registro');
  10. //Orientacion del documento vertical='portrait' o horizontal='landscape'
  11. $pdf =& new Cezpdf('a4');//Crea el PDF en orientacion vertical
  12. $pdf->selectFont('fonts/Broadsheet.afm');
  13. $pdf->ezSetCmMargins(4,3,3,3);
  14. $query = "SELECT RPEREGASIS, FECREGASIS, MIN( HORREGASIS ) AS entrada, MAX( HORREGASIS ) as salida
  15.            FROM registro GROUP BY RPEREGASIS, FECREGASIS";
  16. $result = mysql_query($query) or die(mysql_error());
  17. $num_results = mysql_num_rows($result);
  18. if($num_results==0){
  19. echo '<h1> <center>RESULTADOS DE INFORME </center></h1>';
  20. echo "<br>";
  21. echo '<h2> No se ha encontrado información *para generar un informe *</h2>';
  22. echo "<h2><a href='entrada.php' a style='text-decoration:none;' > <p><b> Regresar a la sección de Informes</b></h2></a></p>";
  23. }
  24. $i=0;
  25. while($row = mysql_fetch_assoc($result)){
  26. $i++;
  27. $datos_tabla[] = array_merge($row, array('num'=>$i));
  28. }
  29. $titulos_tabla = array(
  30. 'num'=>'<b>No</b>',
  31. 'RPEREGASIS'=>'<b>rpe</b>',
  32. 'FECREGASIS'=>'<b>Nombres</b>',
  33. 'entrada'=>'<b>Apellidos</b>',
  34. 'salida'=>'<b>Apellidos</b>');
  35. $pdf->ezText("<b>INFORME DE INVESTIGADORES POR PROGRAMA</b>\n",18);
  36. $pdf->ezTable($datos_tabla,$titulos_tabla);
  37. $pdf->ezText("\n\n\n", 10);
  38. $pdf->ezText("<b>Fecha:</b> ".date("d/m/Y"), 10);
  39. $pdf->ezText("<b>Hora:</b> ".date("H:i:s")."\n\n", 10);
  40. $pdf->ezStream();
  41. ?>

Este es un error que me sale :s...

Deprecated: Assigning the return value of new by reference is deprecated in C:\xampp\htdocs\PhpProject1\Fechas2.php on line 11

Notice: Undefined index: in C:\xampp\php\PEAR\class.pdf.php on line 1934

Notice: Undefined index: in C:\xampp\php\PEAR\class.pdf.php on line 1934

Notice: Undefined index: in C:\xampp\php\PEAR\class.pdf.php on line 1631..... y siguen los mismo en diferentes lineas y por ultimo...

Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\php\PEAR\class.pdf.php:1631) in C:\xampp\php\PEAR\class.pdf.php on line 1916

Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\php\PEAR\class.pdf.php:1631) in C:\xampp\php\PEAR\class.pdf.php on line 1917

Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\php\PEAR\class.pdf.php:1631) in C:\xampp\php\PEAR\class.pdf.php on line 1919
%PDF-1.3 %���� 1 0 obj << /Type /Catalog /Outlines 2 0 R /Pages 3 0 R >> endobj 2 0 obj << /Type /Outlines /Count 0 >> endobj 3 0 obj << /Type /Pages /Kids [6 0 R 9 0 R 12 0 R 15 0 R 18 0 R 21 0 R 24 0 R 27 0 R 30 0 R ] /Count 9 /Resources << /ProcSet 4 0 R >> /MediaBox [0.000 0.000 595.280 841.890] >> endobj 4 0 obj [/PDF /Text ] endobj 5 0 obj << /Creator (R and OS php pdf writer, http://www.ros.co.nz) /CreationDate (D:20110908) >> endobj 6 0 obj << /Type /Page /Parent 3 0 R /Contents [ 7 0 R 8 0 R ] >> endobj 7 0 obj << /Filter /FlateDecode /Length 352 >> stream x���=N�@@�ާ�����Mi'J�88VNA���XIE�kV��3�+��y ����+鬶9�̯���m��"��;l�i?�z���<��ݶ_��p��8�q�S��e� �an��[��M)����}����;m��;��_+]["I��z6߮��֛\�YK��%�VV��j��%)%)�%�,I�$ΒKb,��$ %�+�$W�$W�$w(I.,IfI�% ��YcI������x �k0^����`��5��x �k0^����Wg�:����xuƫ3^����Wg�:����x5ƫ1^��j�Wc��� ��x5ƫ1^��j�We�*�U��xUƫ2^����We�*�U��xU�+��O\��o �Q�u


La verdad eh estado intentando de muchas formas y no le hayo solución, agradecería mucho su ayuda, y claro desde ahora gracias por leerme :)...


Hola amigo soy la persona que inicio el tema si bien ya tiene algo de tiempo viendo un poco tu código creo que el error no va tanto en la sintaxis como tal pues "parece" estar bien, mira el error que veo a simple vista es el siguiente:

EL mismo error dice mira:

Notice: Undefined index: in C:\xampp\php\PEAR\class.pdf.php on line 1934
Si te fijas en negrita esta el nombre del archivo que debes de cargar pero el archivo no se deberia de llamar asi, se deberia de llamar:
class.ezpdf.php
La verdad es que no se si esto sea correcto puesto que no lo estoy viendo osea el codigo y corriendo etc etc..

Prueba intentando mi ejemplo que deje completo mas arriba y modificalo a tu gusto ese seguro si funciona...

Te deseo suerte, muy buenas tardes.

Etiquetas: consultasmysql, ezpdf, fpdf
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.
Tema Cerrado

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 09:13.