Foros del Web » Programando para Internet » PHP »

Script Modificado -Guarda resultados de una consulta en Excel- ¿Se puede mejorar?

Estas en el tema de Script Modificado -Guarda resultados de una consulta en Excel- ¿Se puede mejorar? en el foro de PHP en Foros del Web. Que tal, Tomando como base un script de las FAQS he resuelto lo siguiente, guardar el resultado de una consulta como archivo de Excel, conservando ...
  #1 (permalink)  
Antiguo 21/03/2004, 17:08
Avatar de jpogsistem  
Fecha de Ingreso: diciembre-2001
Mensajes: 2.405
Antigüedad: 16 años
Puntos: 4
Script Modificado -Guarda resultados de una consulta en Excel- ¿Se puede mejorar?

Que tal, Tomando como base un script de las
FAQS he resuelto lo siguiente, guardar
el resultado de una consulta como
archivo de Excel, conservando el
Titulo de la Consulta (Que puede ponerse
dinámico por las $variables que se reciben por get o post.

En este caso se trata de ua consulta que
general reultados según una comparación.
Se puede hacer tan compleja como se
quiera y el código es bastante entendible.

Si creen que se puede mejorar manos a la obra.

Saludos.


Código PHP:
<?php
            $host
="";
            
$user="";
            
$password="";
        

            
mysql_connect($host,$user,$password);
$resultado mysql_db_query("nombre_base_de datos","SELECT  id, nombre, ciudad FROM usuarios
WHERE ciudad LIKE 'bogota'"
);

$shtml="<table>";
$shtml=$shtml."<tr style='border:1px solid #CCCCCC'><font color='#000000' size='2' face='Arial'><strong>TITULO DE LA CONSULTA CON VARIABLE </strong></tr>";
$shtml=$shtml."<tr>";
$shtml=$shtml."<td style='border:1px solid #CCCCCC'><font color='#000000' size='2' face='Arial'>ID</td><td style='border:1px solid #CCCCCC'><font color='#000000' size='2' face='Arial'>NOMBRE</td><td style='border:1px solid #CCCCCC'><font color='#000000' size='2' face='Arial'>CIUDAD</td>";
$shtml=$shtml."</tr>";

while(
$row=mysql_fetch_array($resultado)) {



$shtml=$shtml."<tr>";
$shtml=$shtml."<td style='border:1px solid #CCCCCC'><font color='#000000' size='2' face='Arial'>".$row["ID"]."</td>"."<td style='border:1px solid #CCCCCC'><font color='#000000' size='2' face='Arial'>".$row["nombre"]."</td>"."<td style='border:1px solid #CCCCCC'><font color='#000000' size='2' face='Arial'>".$row["ciudad"]."</td>";

$shtml=$shtml."</tr>";

}

$shtml=$shtml."</table>";
echo 
"$shtml";

$scarpeta="archivo/"//carpeta donde guardar el archivo.
//debe tener permisos 775 por lo menos
$sfile=$scarpeta."/consulta.xls"//ruta del archivo a generar
$fp=fopen($sfile,"w");
fwrite($fp,$shtml);
fclose($fp);

echo 
"<a href='".$sfile."'>Guardar como documento de Excel</a>";

mysql_free_result($resultado);
?>
__________________
EL LIMITE ES EL UNIVERSO

Última edición por jpogsistem; 21/03/2004 a las 17:14
  #2 (permalink)  
Antiguo 21/03/2004, 18:06
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
En general .. estas estructuras:

Código PHP:
$shtml=$shtml."algo"
se pueden abreviar en:

Código PHP:
$shtml .= "algo"
Ahora .. mi pregunta es (ya que lo has probado tu mismo) ...
¿Los estilos y tipografía que usas para las celdas de la tabla .. las respeta Exel o las intenta interpretar? (sobre todo al usar CSS para algunas cosas como las propiedades de la celda y luego usas etiqutas HTML normales para definir tipografía ..)

Te lo comento por qué .. si los respeta .. OK, si no lo respeta .. mejor no usarlos para la versión de esos datos ".xls" (así optimizarás el tamaño del archivo generado).

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #3 (permalink)  
Antiguo 22/03/2004, 10:46
Avatar de jpogsistem  
Fecha de Ingreso: diciembre-2001
Mensajes: 2.405
Antigüedad: 16 años
Puntos: 4
Que tal,

Si los respeta, y sale el contenido ordenado.

Saludos.
__________________
EL LIMITE ES EL UNIVERSO
  #4 (permalink)  
Antiguo 22/03/2004, 12:11
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Ok, gracias jpogsistem.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
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 01:33.