Ver Mensaje Individual
  #1 (permalink)  
Antiguo 14/06/2012, 14:22
Avatar de Bullet
Bullet
 
Fecha de Ingreso: agosto-2005
Ubicación: Margarita, Venezuela
Mensajes: 235
Antigüedad: 18 años, 8 meses
Puntos: 1
Exportar datos de consulta mysql a pdf/excel/word desde PHP

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:
<!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 PHP:
<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('../librerias/config.php');
$error '<a href="javascript: window.history.back()"><< Volver >></a>';// Mensaje de error y nos devuelve atras
    
if(isset($_GET['cod'])){ //SI SE HA METIDO EL CODIGO DEL BARCO
        
        //Realizar la conexion al servidor (sustituyes la info con los datos de tu servidor)
        
$code $_GET['cod'];    //PARA USAR GET, USA EL FORM QUE TE DEJO
        
$codi $_GET['cod2'];
                
        
//Se procede con la consulta
        
$query 'SELECT nlance,ci,nind,nkg FROM caplpal WHERE crno = \''.$code.'\' && cond = \''.$codi.'\' order by nlance asc'
        
$que mysql_query($query);
                        
        
//Comprobar si se ha realizado la consulta
        
if (!$query) {
            die(
'Error: '.mysql_error());
        }
        
//Mensaje de error en caso de que el codigo no exista
        
if (!mysql_num_rows($que)) {
            echo 
'Error en el codigo ingresado, intenta de nuevo'.  $error '';
            exit;
        }
    }
?>
<?php 
echo '<p align="center"><b>CAPTURA TOTAL POR CRUCERO/TIPO </b></p>'?>
<?php 
echo '<p align="center"><b>CRUCERO: '$code '</b>',' ''<b>TIPO CAPTURA: '$codi '</b></p>'?>
<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..