Reporte en excel con php
Trato de mostrar mi consulta en pantalla y de allí dar clic en un botón para que me haga un reporte en excel pero que me mande solo esos datos que están en pantalla y a mi me manda todos los de la tabla de mi base de datos, hago esto para para mandar a excel:
<?php
$Reporte= $_REQUEST['Reporte'];
if (isset($Reporte))
{
header("Content-Type: application/force-download");
header("Content-Disposition: attachment; filename=miarchivo.xls");
header("Content-Transfer-Encoding: binary");
header("Cache-Control: private");
echo $tabla;
}
?>
En el echo esto metiendo los datos de mi tabla para que los amnde a excel al momento de presionar el botón de reporte y aquí esta mi consulta:
if(isset($_POST["textfield2"]) && isset($_POST["textfield22"])){
//hace la consulta como está ahora
$consulta = mysql_query("SELECT * FROM perfil_prueba WHERE CARRERA_EGRESO LIKE '%$CARRERA_EGRESO%' and ESPECIALIDAD LIKE '%$ESPECIALIDAD%' and SEMESTRE_EGRESO LIKE '%$SEMESTRE%' and ANO_EGRESO >= $ANO_EGRESO_INI and ANO_EGRESO <= $ANO_EGRESO_FIN and TITULADO LIKE '%$TITULADO%'", $enlace);
}
else{
$consulta = mysql_query("SELECT * FROM perfil_prueba WHERE CARRERA_EGRESO LIKE '%$CARRERA_EGRESO%' and ESPECIALIDAD LIKE '%$ESPECIALIDAD%' and SEMESTRE_EGRESO LIKE '%$SEMESTRE%' and TITULADO LIKE '%$TITULADO%'",$enlace);
}
while($row = mysql_fetch_array($consulta))
//$row= mysql_fetch_array($consulta) or die( "Error en query: $consulta, el error es: " . Mysql_error() );
//while($row)
{
$NUMERO_CONTROL= $row["NUMERO_CONTROL"];
$APELLIDO_PATERNO= $row["APELLIDO_PATERNO"];
$APELLIDO_MATERNO= $row["APELLIDO_MATERNO"];
$NOMBRE_S= $row["NOMBRE_S"];
$CARRERA_EGRESO= $row["CARRERA_EGRESO"];
$ESPECIALIDAD= $row["ESPECIALIDAD"];
$SEMESTRE_EGRESO= $row["SEMESTRE_EGRESO"];
$ANO_EGRESO_INI= $row["ANO_EGRESO"];
$ANO_EGRESO_FIN= $row["ANO_EGRESO"];
$TITULADO= $row["TITULADO"];
$tabla.="
<table width='100%' border='7' cellspacing='1' callpadding='1'>
\n";
$tabla.="
<tr>
\n";
$tabla.="
<td width='10%'>$NUMERO_CONTROL</a></td>
\n";
$tabla.="
<td width='15%'>$APELLIDO_PATERNO</a></td>
\n";
$tabla.="
<td width='15%'>$APELLIDO_MATERNO</a></td>
\n";
$tabla.="
<td width='20%'>$NOMBRE_S</a></td>
\n";
$tabla.="
<td width='30%'>$CARRERA_EGRESO</a></td>
\n";
$tabla.="
<td width='30%'>$ESPECIALIDAD</a></td>
\n";
$tabla.="
<td width='20%'>$SEMESTRE_EGRESO</a></td>
\n";
$tabla.="
<td width='8%'>$ANO_EGRESO</a></td>
\n";
$tabla.="
<td width='5%'>$TITULADO</a></td>
\n";
$tabla.="
</tr>
\n";
$tabla.="
</table>
\n";
$tabla.="
<hr size = 2color =ffffff width = 100% align = left>
";
}
?>
<form action="buscasemestre.php" method="post">
<input type=submit name="Reporte" value="Reporte">
</form>
A la variable $tabla le asigno el valor de cada uno de los datos el problema es que si busco no me manda nada no muestra nada en pantalla por lo mismo creo yo que no le pongo el echo y si le doy reporte pues en excel no me manda nada igual que en pantalla pero si debería mandarme datos en la pantalla y no muestra nada, si pongo echo antes de la variable $tabla me manda muchas veces los datos pero si le doy clic en el botón reporte si me manda los datos tal cual esta en pantalla pero esta mal la consulta como le hago para acomodar todo esto espero me puedas ayudar
<?php
$Reporte= $_REQUEST['Reporte'];
if (isset($Reporte))
{
header("Content-Type: application/force-download");
header("Content-Disposition: attachment; filename=miarchivo.xls");
header("Content-Transfer-Encoding: binary");
header("Cache-Control: private");
echo $tabla;
}
?>
En el echo esto metiendo los datos de mi tabla para que los amnde a excel al momento de presionar el botón de reporte y aquí esta mi consulta:
if(isset($_POST["textfield2"]) && isset($_POST["textfield22"])){
//hace la consulta como está ahora
$consulta = mysql_query("SELECT * FROM perfil_prueba WHERE CARRERA_EGRESO LIKE '%$CARRERA_EGRESO%' and ESPECIALIDAD LIKE '%$ESPECIALIDAD%' and SEMESTRE_EGRESO LIKE '%$SEMESTRE%' and ANO_EGRESO >= $ANO_EGRESO_INI and ANO_EGRESO <= $ANO_EGRESO_FIN and TITULADO LIKE '%$TITULADO%'", $enlace);
}
else{
$consulta = mysql_query("SELECT * FROM perfil_prueba WHERE CARRERA_EGRESO LIKE '%$CARRERA_EGRESO%' and ESPECIALIDAD LIKE '%$ESPECIALIDAD%' and SEMESTRE_EGRESO LIKE '%$SEMESTRE%' and TITULADO LIKE '%$TITULADO%'",$enlace);
}
while($row = mysql_fetch_array($consulta))
//$row= mysql_fetch_array($consulta) or die( "Error en query: $consulta, el error es: " . Mysql_error() );
//while($row)
{
$NUMERO_CONTROL= $row["NUMERO_CONTROL"];
$APELLIDO_PATERNO= $row["APELLIDO_PATERNO"];
$APELLIDO_MATERNO= $row["APELLIDO_MATERNO"];
$NOMBRE_S= $row["NOMBRE_S"];
$CARRERA_EGRESO= $row["CARRERA_EGRESO"];
$ESPECIALIDAD= $row["ESPECIALIDAD"];
$SEMESTRE_EGRESO= $row["SEMESTRE_EGRESO"];
$ANO_EGRESO_INI= $row["ANO_EGRESO"];
$ANO_EGRESO_FIN= $row["ANO_EGRESO"];
$TITULADO= $row["TITULADO"];
$tabla.="
<table width='100%' border='7' cellspacing='1' callpadding='1'>
\n";
$tabla.="
<tr>
\n";
$tabla.="
<td width='10%'>$NUMERO_CONTROL</a></td>
\n";
$tabla.="
<td width='15%'>$APELLIDO_PATERNO</a></td>
\n";
$tabla.="
<td width='15%'>$APELLIDO_MATERNO</a></td>
\n";
$tabla.="
<td width='20%'>$NOMBRE_S</a></td>
\n";
$tabla.="
<td width='30%'>$CARRERA_EGRESO</a></td>
\n";
$tabla.="
<td width='30%'>$ESPECIALIDAD</a></td>
\n";
$tabla.="
<td width='20%'>$SEMESTRE_EGRESO</a></td>
\n";
$tabla.="
<td width='8%'>$ANO_EGRESO</a></td>
\n";
$tabla.="
<td width='5%'>$TITULADO</a></td>
\n";
$tabla.="
</tr>
\n";
$tabla.="
</table>
\n";
$tabla.="
<hr size = 2color =ffffff width = 100% align = left>
";
}
?>
<form action="buscasemestre.php" method="post">
<input type=submit name="Reporte" value="Reporte">
</form>
A la variable $tabla le asigno el valor de cada uno de los datos el problema es que si busco no me manda nada no muestra nada en pantalla por lo mismo creo yo que no le pongo el echo y si le doy reporte pues en excel no me manda nada igual que en pantalla pero si debería mandarme datos en la pantalla y no muestra nada, si pongo echo antes de la variable $tabla me manda muchas veces los datos pero si le doy clic en el botón reporte si me manda los datos tal cual esta en pantalla pero esta mal la consulta como le hago para acomodar todo esto espero me puedas ayudar
1 Respuesta
Respuesta de xhiena
1