Exportación de datos en PHP a documentos.

Hoy vamos a explicar como exportar datos de una web con base de datos a distintos formatos de documentos.
 
Tenemos que distinguir dos tipos:
  • PDF
  • Word y Excel
 
¿Porqué distinguimos de dos tipos?
Porque para imprimir en PDF necesitaremos una una librería externa a PHP, sin embargo .doc y .xls lo vamos a convertir en las cabeceras (header()).
 
Empecemos por explicar el escenario de trabajo.
Tenemos una web que administra una base de datos que guarda preguntas y respuestas.
 
Captura1
Queremos que el administrador tenga la opción de exportar la base de datos a documentos.
 
Empecemos viendo cómo vamos a exportar estos datos.
 
Primero vamos a centrarnos por lo más sencillo.
Para ambos casos de tipos de formatos vamos a necesitar una página la cual vamos a imprimir en un documento. La vamos a llamar impresion.php.
 
Captura2
 
Crearemos un nuevo script que se va a encargar de gestionar la exportación.
En este nuevo script, lo primero que debemos hacer es comprobar el tipo de extensión
 
Captura3
Como observareis, detectamos extensiones solamente en función de .doc y .xls, ya que el siguiente paso es detectar si es PDF por el tipo.
 
Ahora solamente nos centraremos en los .doc y .xls
 
Una vez que detectamos que no es PDF, escribimos las cabeceras correspondientes.
 
Captura5 (1)
Siendo la cabecera que se va a encargar de exportar los datos:
 Captura4
 
El atributo filename, va a ser el archivo que nos va a generar, que decidimos ponerle de nompre «preguntas» y le añadimos la extensión detectada anteriormente.
 
Una vez hecho el require del documento de impresión creado antes, vamos a imprimir en .doc o en .xls.
 
Veamos el resultado: 
 Captura6
 
 
Ahora pasamos a trabajar con el formato PDF, para ello necesitaremos la libreria DOMPDF, el cual nos lo descargaremos de GitHub y lo incluiremos en nuestro script.
 
Ahora dentro de la detección del formato PDF, realizamos lo siguiente.
 Captura7
 
Como vemos, lo primero que hacemos es incluir la libreria.
Creamos la clase Dompdf para poder acceder a sus métodos.
Lo primero, es necesario cargar el HTML a imprimir, es importante añadir la ruta completa, que en mi caso es una constante que contiene:
 
«http://localhost/sabioGC/util/»
 
Una vez cargamos el HTML, renderizamos el resultado y una vez renderizamos, generamos el PDF con el título que queramos y su extensión .pdf
 
Así de simple.
 
Veamos el resultado:
Captura8 
 
Sin más, espero que os sea de ayuda.
 
Emanuel Galván Fontalba – Web Developer.
 
 

 

Git – Bash. Tutorial.

Git-Logo-2Color-910x198
 
Vamos a hacer un breve resumen de como usar Git desde consola.
Explicaremos como usarlo a nivel individual como para hacer colaboraciones.
Sin más, espero que os sea útil. 
 
 
Creación del repositorio:
Lo vamos a crear desde GitHub:
usoDeGitEmanuelGalvanFontalba.pdf - Adobe Reader
Copiamos el enlace del repositorio:
 usoDeGitEmanuelGalvanFontalba.pdf - Adobe Reader (1)
Ahora desde la consola de Git, vamos a clonar el repositorio:
 usoDeGitEmanuelGalvanFontalba.pdf - Adobe Reader (2)
Despues de clonar, nos situamos dentro del proyecto clonado.
Ahora escribimos el código correspondiente y lo guardamos dentro de este repositorio.
 
Cuando acabemos hacemos un git status para ver si se a añadido al repositorio local con éxito:
usoDeGitEmanuelGalvanFontalba.pdf - Adobe Reader (4)
Ahora vamos a hacerle un add:
usoDeGitEmanuelGalvanFontalba.pdf - Adobe Reader (5)
Vemos de nuevo el git status y vemos como se han quedado en el stage área:
usoDeGitEmanuelGalvanFontalba.pdf - Adobe Reader (6)
Vamos a hacer nuestro primer commit:
usoDeGitEmanuelGalvanFontalba.pdf - Adobe Reader (7)
Volvemos a ver el git status y comprobamos que ya no están en el stage área.
Ahora vamos a hacer un push sobre el commit hecho, para subirlo a nuestro repositorio remoto:
usoDeGitEmanuelGalvanFontalba.pdf - Adobe Reader (9)
usoDeGitEmanuelGalvanFontalba.pdf - Adobe Reader (10)
Ahora hacemos lo mismo con el resto de versiones:
 
usoDeGitEmanuelGalvanFontalba.pdf - Adobe Reader (11)

Editores de páginas web.

pasos-a-seguir-para-crear-pagina-web
 
Antes de nada vamos a definir claramente que es un editor de páginas web.
Un editor de páginas web es una aplicación diseñada con el fin de facilitar la creación y edición de documentos HTML o XHTML.

¿Cómo nos facilita esto? 

Una de las formas es usando fragmentos de código, que nos va a ahorrar muchísimo tiempo a la hora de escribir nuestras marcas.
Cuando vamos a crear nuestras páginas webs, lo más habitual es encontrarnos código repetido «mil veces». Para ahorrarnos escribirlos a mano, aparecen los fragmentos de código o snippets, que no son más que un «trozo» de código, el cual reusaremos a lo largo de nuestro marcado.

Con estas herramientas nos ahorraremos tiempo y varios quebraderos de cabeza. 
 
Vamos a clasificarlos en dos grupos. Los específicos para Windows y los que se usan en Linux o son multiplataforma.
 
Editores Windows
 
CoffeeCup HTML Editor:
 
Las principales características del CoffeeCup HTML Editor son sus asistentes (inserción de imágenes, enlaces, menús HTML, etc.) tratando a los elementos HTML como objetos con sus propiedades, resaltado de sintaxis (HTML, CSSPHP…) , editor visual (WYSIWYG), y poco más. Ha quedado un tanto desfasado, aunque sigue siendo muy válido como editor HTML.
 
Su precio es de 69 dolares.
 
 
 
Adobe Dreamweaver:
 
Es muy similar a CoffeeCup aunque con mayores prestaciones, aunque también es mucho más caro.
 
En la última versión dispone de un mejorado soporte de CSS, que junto a su autocompletado de atributos CSS (ideal para los que empiezan) lo convierte quizás en uno de los editores más cómodos para trabajar con CSS.
 
Al igual que CoffeeCup, sus asistentes harán gran parte del trabajo para los más novatos, aunque de poca utilidad para los más avanzados. Incluye lo que han llamado Spry, una librería de widgets y efectos mediante Javascript.
 
Su precio es de 24,59€ al MES.
 
 
 
Linux / Multiplataforma                                            
Amaya:
 
Está desarrollado por la W3C (World Wide Web Consortium), la asociación que se encarga de construir los estándares web.
 
Es un navegador y un editor web, cuya peculiaridad es que permite editar directamente cualquier página web que se visualice, y que permite editar SVG y MathML, para codificar e integrar junto con HTML. Es bastante rudimentario  y carece de asistentes.
 
Su software es libre.
 
URL: Amaya
 
 
Aptana:
 
Este editor está basado en Eclipse, e incluso puede usarse como plugin en éste. Su asistente de código (HTML, CSS y Javascript) es único, mostrando documentación en línea de todos y cada uno de los elementos, como en qué navegadores está soportada una función de Javascript o un atributo CSS.
 
Además muestra información en línea sobre las funciones Javascript propias. Viene con depurador de Javascript. Es el editor web más completo del mercado y además es libre (gratuito y con código fuente abierto).
 
Software libre.
 
URL: Aptana
 
 
Zend Studio:
 
Más que un editor web, es todo un entorno de desarrollo para PHP. Tiene auto completado de código HTML (no para Javascript y CSS) además de para PHP, y no es posible editar en modo WYSIWYG, aunque el resaltado de sintaxis les podría valer a los desarrolladores más expertos.
 
Su punto fuerte está en su editor y depurador PHP. Su soporte para gestionar bases de datos (MySQL, MS SQL Server, Oracle, PostgreSQL, …), lo convierte en uno de los mejores entornos de desarrollo web para PHP existente.
 
Su precio es de 89 dolares, aunque dispone de una versión de prueba.
 
BlueGriffon:

 

Este editor WYSIWYG utiliza por debajo el motor de renderizado de Firefox para visualizar las páginas a medida que las vamos editando. 
 
Cuenta con ayudas a la escritura de código y ofrece incluso la posibilidad de probar en tiempo real transformaciones 3D de CSS3 sin abandonar el editor. 
 
Es gratuito, código abierto y multiplataforma (Windows, Mac y Linux) y está disponible en Español entre otros muchos idiomas.