Foros del Web » Programando para Internet » PHP »

Cómo crear reportes en PHP?

Estas en el tema de Cómo crear reportes en PHP? en el foro de PHP en Foros del Web. Hola a todos. Saludos y Gracias anticipada por su respuesta o al menos por leer el tema. Estoy desarrollando pequeño proyecto, no es nada del ...
  #1 (permalink)  
Antiguo 18/05/2011, 07:27
 
Fecha de Ingreso: agosto-2005
Mensajes: 152
Antigüedad: 18 años, 8 meses
Puntos: 0
Cómo crear reportes en PHP?

Hola a todos. Saludos y Gracias anticipada por su respuesta o al menos por leer el tema.
Estoy desarrollando pequeño proyecto, no es nada del otro mundo, pero me he quedado varado en él mismo por la siguiente razón.
El tema es que me conecté a SQL SERVER 2000l, sin ningún problema, preparo una consulta de a partir de una vista. Acalaro que SQL Server 2000 tiene hecho un Link server partir de ODBC con una base de datos en formato dbf. Bien desde php accedo a una de las consultas y muestro los registros en una tabla html.
Hasta aquí todo muy bien. El problema está es que la presentación de los datos tiene que hacerse a partir de cierto nivel de agrupamiento. Aclaro que no debo poner ningún group by en la consulta pues la misma cambiaria su esencia, los datos ya están agrupados.
Lo que necesito es crear un reporte donde yo pueda definir los encabezados del mismo, tal como se hace como los informes en access o usando el Visual Studio.
Por si hace falta aquí les voy a poner la consulta:
Código PHP:
$result mssql_query("SELECT Empresas.DEMPRESA, Sector.DSECTOR, Programa.DPROGRAMA, Municipios.DMUNI, Filas444.[Desc] AS Indicador, Mod444.[PLAN MES] AS PMES, Mod444.[REAL MES] AS RMES, Mod444.PORC, Mod444.[PLAN ACUM] AS PA, Mod444.[REAL ACUM] AS RA, Mod444.[PORC AC] AS POA, Mod444.[REAL AÑO ANT] AS RAA, Mod444.[PLAN AÑO ACT] AS PAA, Mod444.REL FROM Sector RIGHT OUTER JOIN Mod444 ON Sector.Sector = Mod444.Sector LEFT OUTER JOIN Filas444 ON Mod444.FILA = Filas444.Filas LEFT OUTER JOIN Programa ON Mod444.Programa = Programa.PROGRAMA LEFT OUTER JOIN Municipios ON Mod444.MUNI = Municipios.MUNI LEFT OUTER JOIN Empresas ON Mod444.EMPRESA = Empresas.EMPRESA ORDER BY Mod444.EMPRESA, Mod444.SECTOR, Mod444.PROGRAMA, Mod444.MUNI, Mod444.FILA"); 
Los encabezados de este reporte deberían ser por Empresas, por Sector, por Ramas y por Municipios y el detalle deben ser los indicadores.
Ya probe con el php report maker, este no me sirve ya que no permite hacer ese tipo de informe, además que solo es para Mysql.
Existe la posibilidad de hacerlomediante código.
Alguna sugerencia.
Muchas Gracias.
  #2 (permalink)  
Antiguo 18/05/2011, 08:01
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: Cómo crear reportes en PHP?

Depende como quieran el reporte pero es perfectamente posible hacerlo vía código si lo generas en HTML / PDF/ Excel, solo es que veas que formato necesitas y primero intentes hacerlo en una tabla HTML.

Para agruparlo es simple, solo verificas por que campo quieres agrupar y lo ordenas por ese campo, luego al estar ciclando vas verificando, mientras siga siendo el campo por el que vas a agrupar imprimes, cuando cambie el campo, imprimes los encabezados nuevamente y continuas tu ciclo.

En pseudocodigo:
Código:
Mientras haya resultados:
        - Verificas campo de agrupar
        - Si es diferente:
             - imprimes encabezados / division
        - Imprimes resultados
Saludos.
  #3 (permalink)  
Antiguo 18/05/2011, 08:32
 
Fecha de Ingreso: agosto-2005
Mensajes: 152
Antigüedad: 18 años, 8 meses
Puntos: 0
Respuesta: Cómo crear reportes en PHP?

GatorV muchas gracias por tu respuesta. Mira el reporte lo quiero en Html, como ya expliqué anteriormente el sale en una tabla html, ahora lo que me dices sí no te es molestia me gustaría que psusieras un pedacito de código más concreto para poder hacer lo que quiero, imagina que quiero el encabezado del informe por el campo DEMPRESA.
Te reitero las gracias.
  #4 (permalink)  
Antiguo 18/05/2011, 09:57
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: Cómo crear reportes en PHP?

Con el pseudocodigo que te deje debe de ser suficiente para que generes tu tabla, solamente debes de usar tu ciclo (for/while) y un if() y una variable que verifique que columna es la que estas agrupando.

Saludos.
  #5 (permalink)  
Antiguo 18/05/2011, 23:58
 
Fecha de Ingreso: agosto-2009
Ubicación: Lima
Mensajes: 226
Antigüedad: 14 años, 7 meses
Puntos: 3
Respuesta: Cómo crear reportes en PHP?

Hola GatorV, tu como moderador puedes orientarme para migrar un reporte html a PDF, trabajo con codeigniter y este es mi codigo que no me sale para nada,ya lo hice en html, lo lleve a Excell, pero no puedo llevar ese mismo reporte a PDF

require_once(dirname(__FILE__).'/html2pdf/html2pdf.class.php');

header ('meta http-equiv="Content-Type" content="text/pdf; charset=utf-8"');
$html = $this->load->view('ueall_report',$data,false);

ob_start();

$html2pdf = new HTML2PDF('P','A4','es');
$html2pdf->WriteHTML($html);
$html2pdf->Output('exemple.pdf', 's');


// Genrate PDF, There few Options
// 1. D => Download the File
// 2. I => Send to standard output
// 3. F => Save to local file
// 4. S => Return as a string

me sale el PDF, pero en blanco

gracias anticipadas

Etiquetas: reportes
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 00:52.