Autor Tema: Exportar datos de consulta mysql a pdf/excel/word desde PHP  (Leído 1316 veces)

Desconectado Chewii

  • PHPer@
  • **
  • Mensajes: 62
  • Karma: 0
  • Sexo: Masculino
  • Aprendiendo sobre Tortugas Marinas!!
    • Ver Perfil
Exportar datos de consulta mysql a pdf/excel/word desde PHP
« en: 14 de Junio de 2012, 22:14:41 pm »
Que mas amigos, les escribo por lo siguiente:

Estoy generando reportes en mi aplicacion, y necesito mostrar los resultados en informes, ya sea en pdf, excel o word (si puedo exportarlos de las 3 maneras mucho mejor), tengo los resultados con sus consultas en php y los muestro en tablas html en una pagina normal, desde ahi quisiera presionar un boton y que me los exporte a cualquiera de las 3 aplicaciones; tengo un boton para imprimir datos desde la misma pagina del reporte, y funciona sin problemas.  He probado la herramienta "dompdf", pero solo llegue a colocar el titulo del reporte y la cabecera de la tabla, del resto no e podido hacer mas nada, y tambien probe la herramienta "fpdf" y, a pesar de que obtuve los resultados que queria, me faltaron un par de variables que no consigo como guardar.  El detalle es que no encuentro como mostrar o exportar los resultados que quiero de la forma que quiero, asi que preferi mejorar el diseño de las tablas y mostrar los datos en una pagina web normal, comun y corriente. lo estoy haciendo de esta forma:

El codigo de busqueda:

Código: [Seleccionar]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>..::||| BUSQUEDA DE CRUCEROS |||::..</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link rel="stylesheet" type="text/css" href="../css/style.css">

</head>

<body>
<table width="455" border="0" align="center" cellpadding="3" cellspacing="1" bgcolor="#000000" class="input">
  <tr>
    <td align=center bgcolor="#ffffff"><img src="../../../images/palangreh.png" width="466" height="62"></td>
  </tr>
</table>
<p>&nbsp;</p>
<p align="center" class="title03">CAPTURA TOTAL POR CRUCERO/TIPO</p>
<form method="GET" name="frm_barco" action="caps_crno.php" target="_blank">
  <div align="center">
    <p>&nbsp;</p>
    <p>CRUCERO:
      <input name="cod" type="text" class="input" id="cod"  size="10" maxlength="5" title="Codigo del crucero a ingresar">
    TIPO CAPTURA:
    <input name="cod2" type="text" class="input" id="cod2"  size="5" maxlength="1" title="Codigo del crucero a ingresar">
    </p>
    <p>
      <input name="Submit" type="submit" class="FBoton" value="Enviar">
</p>
    <p>&nbsp;    </p>
  </div>
</form>
<p>&nbsp;</p>
</body>
</html>

Archivo de consultas e impresion de datos en html:

Código: [Seleccionar]
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link rel="stylesheet" type="text/css" href="../css/style.css">
<?php  
require_once(&#39;../librerias/config.php&#39;);
$error = &#39;<a href="javascript: window.history.back()"><< Volver >></a>&#39;;// Mensaje de error y nos devuelve atras
if(isset($_GET[&#39;cod&#39;])){ //SI SE HA METIDO EL CODIGO DEL BARCO

//Realizar la conexion al servidor (sustituyes la info con los datos de tu servidor)
$code $_GET[&#39;cod&#39;]; //PARA USAR GET, USA EL FORM QUE TE DEJO
$codi $_GET[&#39;cod2&#39;];

//Se procede con la consulta
$query = &#39;SELECT nlance,ci,nind,nkg FROM caplpal WHERE crno = \&#39;&#39;.$code.&#39;\&#39; && cond = \&#39;&#39;.$codi.&#39;\&#39; order by nlance asc&#39;; 
$que mysql_query($query);

//Comprobar si se ha realizado la consulta
if (!$query) {
die(&#39;Error: &#39;.mysql_error());
}
//Mensaje de error en caso de que el codigo no exista
if (!mysql_num_rows($que)) {
echo &#39;Error en el codigo ingresado, intenta de nuevo&#39;.  $error . &#39;&#39;;
exit;
}
}
?>

<?php echo &#39;<p align="center"><b>CAPTURA TOTAL POR CRUCERO/TIPO </b></p>&#39;; ?>
<?php echo &#39;<p align="center"><b>CRUCERO: &#39;. $code . &#39;</b>&#39;,&#39; &#39;, &#39;<b>TIPO CAPTURA: &#39;. $codi . &#39;</b></p>&#39;; ?>
<table width=500 align=center >
<tr bgcolor="0479ff" align=center>
    <td><b class="heads_tbl">LANCE</b></td>
    <td><b class="heads_tbl">ESPECIE</b></td>
    <td><b class="heads_tbl">N&deg; INDIVIDUOS</b></td>
    <td><b class="heads_tbl">N&deg; KILOGRAMOS</b></td>
</tr>
<?
//creo e inicializo la variable para contar el número de filas
$num_fila = 0;

//bucle para mostrar los resultados
while ($damefila=mysql_fetch_object($que)){
    echo "<tr ";
    if ($num_fila%2==0)
      echo "bgcolor=#dfecfc"; //si el resto de la división es 0 pongo un color
    else
      echo "bgcolor=#92c2fc"; //si el resto de la división NO es 0 pongo otro color
    echo ">";
?>
      <td align="center" class="data"><? echo $damefila->nlance;?></td>
         <td align="center" class="data"><? echo $damefila->ci;?></td>
      <td align="center" class="data"><? echo $damefila->nind;?></td>
      <td align="center" class="data"><? echo $damefila->nkg;?></td>
      </tr>
<?
    //aumentamos en uno el número de filas
    $num_fila++;
} //cierro el while
?>
</table>
<p align="center">
      <input type="button" name="pdf" id="pdf"  value="Enviar a PDF"/>
      <input type="button" name="xls" id="pdf"  value="Enviar a MS Excel"/>
      <input type="button" name="doc" id="pdf"  value="Enviar a MS Word"/>
  <input type="button" name="button" id="button" value="Imprimir" onclick="window.print();"/>
</p>

Esta es la manera que uso para crear los reportes y, como les dije, quisiera que al hacer click en cualquiera de los botones me exporte el reporte a la respectiva aplicacion, ya sea word, excel o formato pdf. Espero su ayuda muchachos..
« Última modificación: 14 de Junio de 2012, 22:19:37 pm por Chewii »

Comunidad PHPeros

Exportar datos de consulta mysql a pdf/excel/word desde PHP
« en: 14 de Junio de 2012, 22:14:41 pm »