Para este ejercicio usaremos una tabla de datos existente, y el resultado lo veremos en Excel. Para poder hacer esto vamos a generar dos archivos, uno para hace la búsqueda de los datos que deseamos y otro para enviarlos a Excel.
Archivo No. 1
Nombre del archivo: buscar.php
<html>
<head>
<title>Tareas - La plataforma del profe. Lima</title>
<meta http-equiv="Content-Language" content="es" />
<meta http-equiv="Content-Type" content="text/html" charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta name="description" content="Tareas">
</head>
<body>
<form action="detalleexcel.php" method='post'>
<table border=0 align=center width=50%>
<tr>
<td style="font-family: 'Century Gothic'; font-size: 1.1em;" align=center>
<br>
Buscar comentario por:
<select name=tipo style="font-family: 'Century Gothic'; font-size: 1.1em; color: #585858">
<option value=Nombre>Nombre</option>
<option value=Telefono>Teléfono</option>
</select><br>
Término para buscar:
<input type="text" name="termino" size="60">
<input type=submit value=Buscar style="font-family: 'Century Gothic'; font-size: 1.1em;">
</td>
</tr>
</table>
</form>
</body>
</html>
Archivo No. 2
Nombre del archivo: detalleexcel.php
<?
$tipo = $_POST['tipo'];
$termino = $_POST['termino'];
//Configuramos el encabezado del archivo nuevo de Excel
$return = '';
$return .= "<H1>Colegio IPTCE</H1>
<span style='color: red;'>IPTCE, como un segundo hogar!</span>
<br><br>
<h3 style='color: #212121;'>REPORTE DE COMENTARIOS
</h3>
<div align='center' style='font-family: tahoma; font-size: 12px;'>";
//Usamos la función require para conectar con el servidor
require("conectar.php");
//Hacemos la consulta condicionada a tipo y término
$consultar = mysql_query("SELECT * FROM nombre_tabla WHERE $tipo LIKE '%".$termino."%'");
$respuesta = mysql_query($consultar);
//Componemos el encabezado de la tabla
@$no_respuestas = mysql_num_rows($respuesta);
@$return .= "<table border=1 width=100%><tr align=center class=tr valign=buttom>";
@$return .= "<td>No.</td><td>Nombre</td><td>E-mail</td><td>Asunto</td><td>Comentario</td></tr>";
//Creamos un ciclo for mostrar todos los datos de la tabla
for($i=1; $i<=$no_respuestas; $i++) {
$reg = mysql_fetch_array($respuesta);
$idcomentario = $reg['IdComentario'];
$nombre = $reg['Nombre'];
$email = $reg['Email'];
$asunto = $reg['Asunto'];
$comentario = $reg['Comentario'];
@$var1 = "<tr style='font-size: 12px;'><td align=center>$idcomentario</td><td>$nombre</td><td>$email</td><td>$asunto</td><td align=right>$comentario</td></tr>";
@$return .= $var1;
}
// Agregamos a la variable $return (que ya contiene el encabezado del nuevo archivo) todos los datos que consultamos en el ciclo anterior
@$return .= $var2;
@$return .= $var3;
@$return .= "</table>";
//Agregue esta línea para resolver el problema de la tildes en Excel, funciona muy bien.
@$return = utf8_decode($return);
//Enviamos el archivo a excel
header("Content-type: application/vnd-ms-excel; charset=utf-8");
header("Content-Disposition: attachment; filename=comentarios.xls");
echo $return;
?>
Espero que esta publicación le ayude mucho. Hasta la próxima.
Archivo No. 1
Nombre del archivo: buscar.php
<html>
<head>
<title>Tareas - La plataforma del profe. Lima</title>
<meta http-equiv="Content-Language" content="es" />
<meta http-equiv="Content-Type" content="text/html" charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta name="description" content="Tareas">
</head>
<body>
<form action="detalleexcel.php" method='post'>
<table border=0 align=center width=50%>
<tr>
<td style="font-family: 'Century Gothic'; font-size: 1.1em;" align=center>
<br>
Buscar comentario por:
<select name=tipo style="font-family: 'Century Gothic'; font-size: 1.1em; color: #585858">
<option value=Nombre>Nombre</option>
<option value=Telefono>Teléfono</option>
</select><br>
Término para buscar:
<input type="text" name="termino" size="60">
<input type=submit value=Buscar style="font-family: 'Century Gothic'; font-size: 1.1em;">
</td>
</tr>
</table>
</form>
</body>
</html>
Archivo No. 2
Nombre del archivo: detalleexcel.php
<?
$tipo = $_POST['tipo'];
$termino = $_POST['termino'];
//Configuramos el encabezado del archivo nuevo de Excel
$return = '';
$return .= "<H1>Colegio IPTCE</H1>
<span style='color: red;'>IPTCE, como un segundo hogar!</span>
<br><br>
<h3 style='color: #212121;'>REPORTE DE COMENTARIOS
</h3>
<div align='center' style='font-family: tahoma; font-size: 12px;'>";
//Usamos la función require para conectar con el servidor
require("conectar.php");
//Hacemos la consulta condicionada a tipo y término
$consultar = mysql_query("SELECT * FROM nombre_tabla WHERE $tipo LIKE '%".$termino."%'");
$respuesta = mysql_query($consultar);
//Componemos el encabezado de la tabla
@$no_respuestas = mysql_num_rows($respuesta);
@$return .= "<table border=1 width=100%><tr align=center class=tr valign=buttom>";
@$return .= "<td>No.</td><td>Nombre</td><td>E-mail</td><td>Asunto</td><td>Comentario</td></tr>";
//Creamos un ciclo for mostrar todos los datos de la tabla
for($i=1; $i<=$no_respuestas; $i++) {
$reg = mysql_fetch_array($respuesta);
$idcomentario = $reg['IdComentario'];
$nombre = $reg['Nombre'];
$email = $reg['Email'];
$asunto = $reg['Asunto'];
$comentario = $reg['Comentario'];
@$var1 = "<tr style='font-size: 12px;'><td align=center>$idcomentario</td><td>$nombre</td><td>$email</td><td>$asunto</td><td align=right>$comentario</td></tr>";
@$return .= $var1;
}
// Agregamos a la variable $return (que ya contiene el encabezado del nuevo archivo) todos los datos que consultamos en el ciclo anterior
@$return .= $var2;
@$return .= $var3;
@$return .= "</table>";
//Agregue esta línea para resolver el problema de la tildes en Excel, funciona muy bien.
@$return = utf8_decode($return);
//Enviamos el archivo a excel
header("Content-type: application/vnd-ms-excel; charset=utf-8");
header("Content-Disposition: attachment; filename=comentarios.xls");
echo $return;
?>
Espero que esta publicación le ayude mucho. Hasta la próxima.
No hay comentarios:
Publicar un comentario