Formularios HTML en menos de 5 minutos

Written on 10:13 a.m. by Jeiff

Este es otro pequeño HOW-TO basado en el framework PEAR, esta vez crearemos en menos de 5 minutos un formulario con su validación listo para ser enviado.

La librería a utilazar se llama HTML_QuickForm, para su instalación podriamos hacerlo así:

$ pear install HTML_QuickForm

O bien puedes descargar el paquete desde http://pear.php.net/package/HTML_QuickForm/download

Una vez que cuentas con la libreria es hora de crear nuestro formulario:

<?

require_once("HTML/QuickForm.php");

//Creamos nuestro formulario con el nombre de frmBuscar
$formulario = new HTML_QuickForm('frmBuscar');
//Asignamos los valores por deafault de nuestro elementos
$formulario->setDefaults(array('busqueda' => '',
'opcion'=>'1'));

//Creamos un encabezado para nuestro formulario
$formulario->addElement('header', null,
'<div align="center">B&uacute;squeda de Anuncio Clasificado</div>');

/*Agregamos un campo de texto con el nombre de busqueda y la
leyenda Palabra a Buscar, tamaño de 50 caracteres y solo se
permitira capturar 255 caracteres */
$formulario->addElement('text', 'busqueda', 'Palabra a Buscar',
array('size' => 50, 'maxlength' => 255));

//Agregamos un campo oculto en nuestro formulario
$formulario->addElement('hidden','opcion');

//Apartir de aquí crearemos un elemento de tipo SELECT
//Iniciaremos por crear las opciones para este elemento
$opts = array("0"=>"Todos","puebla"=>"PUEBLA","tlaxcala"=>"TLAXCALA",
"df"=>"DF Mexico","veracruz"=>"VERACRUZ");
/*Creamos el elemento select con nombre de estado, la leyenda Estado,
y agregamos la opciones*/
$s_estado=$formulario->createElement('select','estado','Estado:',$opts);
$formulario->addElement($s_estado);

//Agregamos nuestro boton para mandar la información
$formulario->addElement('submit', null, 'Buscar');

/*Aplicamos un filtro a nuestro campo busqueda para eliminar
espacios en blanco tanto a la derecha como a la izquierda */
$formulario->applyFilter('busqueda', 'trim');

/*Y pones la restricción, para que el usuario tenga que escribir algo
en nuestro campo busqueda antes de ser enviado */
$formulario->addRule('busqueda', 'Teclee la palabra a Buscar', 'required', null, 'client');

//Por ultimo solo despelgamos nuestro formulario
$formulario->display();
?>

Este código nos generara una página HTML que contendra un formulario de busqueda, el cual contendra un campo de texto validado, un select para seleccionar un estado, y un campo oculto con valor de 1.

En la segunda parte de este pequeño HOW-TO explicare cada una de las funciones utilizadas aqui, y escribire un ejemplo un poco mas completo.

Como escribir Hojas de Excel desde PHP.

Written on 11:01 a.m. by Jeiff


Para este pequeño HOW-TO se utiliza la librería Spreadsheet Excel Writer
del framework PEAR para php.
Esta librería nos permite crear hojas de Excel de forma rápida y sencilla,
con la ventaja de no tener que necesitar los objetos COM, es decir puede
funcionar desde LINUX :), soporta, formulas, imágenes y una gran cantidad
de formatos para celdas y texto.

Spreadsheet Excel Writer puede ser instalado con el siguiente comando:

$ pear install OLE;  Dependencia necesaria para SpreadSheet
$ pear install Spreadsheet_Excel_Writer;

O bien puedes descargarlo desde la siguiente dirección:
http://pear.php.net/package/Spreadsheet_Excel_Writer/download
Ahora vamos a generar una Hoja de Prueba:

<?
require_once 'Spreadsheet/Excel/Writer.php';

// Creamos un libro de excel que sirve como nuestro espacio de trabajo.
$libro = new Spreadsheet_Excel_Writer();

// Estableceremos nuestro formato Negrita para usarlo en el documento
$negrita =& $libro->addFormat();
$negrita->setBold();

// Necesitamos una hoja en la cual poner nuestros datos
$hoja =& $libro->addWorksheet(‘Hoja1’);

// Verificamos que la hoja se haya generado correctamente
if (PEAR::isError($hoja)) {
die($hoja->getMessage());
}

// Este es el titulo
$hoja->write(0, 0, "Escribir hojas en excel", $negrita);

// Generamos nuestro libro de excel
$libro->send('ejemplo.xls');
$libro->close();
?>


Este ejemplo nos generara un libro de excel con una hoja llamada Hoja1 la cual contendrá en su
Celda (A1) la palabra

“Escribir hojas en excel”.
Las funciones que nos interesan en este script son:

Spreadsheet_Excel_Writer(): No permite crear nuestro espacio de trabajo, en el que podremos
generar cuantas hojas queramos.

Es el constructor de la clase Spreadsheet_Excel_Writer y puede recibir como parámetro el
nombre del archivo de salida.


addFormat(): Nos permite añadir al libro distintos formatos para poder ser usados en nuestras
hojas. Como parámetro puede
recibir una array con las propiedades de nuestro formato.
Este objeto además tiene una serie de funciones para establecer
distintos formatos P/E: setBol(),
setAlign(), etc.


addWorksheet(): Nos permite agregar a nuestro libre una hoja de trabajo en la cual colocaremos
nuestros datos. Como parámetro
puede recibir el nombre de nuestra hoja, el cual no puede ser
mayor a 31 caracteres.


write(): Esta funcion nos permite escribir información en nuestra hoja, recibe como parámetros:
- Número de fila: un número entero.
- Número de Columna: un número entero.
- Información a escribir
- Formato de la celda, proveniente del objeto Format.

send(): Esta funcion es necesaria para preparar las cabeceras HTTP para mandar un archivo Excel. Recibe como parámetro el
nombre del archivo a usar en las cabeceras HTTP.

Además de estas funciones podría interesarnos la función:

writeFormula: Esta funcion nos permite escribir formulas en nuestra hoja, recibe como parámetros:
- Número de fila: un número entero.
- Número de Columna: un número entero.
- Cadena de la Formula.
- Formato de la celda, proveniente del objeto Format.
Un ejemplo de esta:
$hoja->writeFormula(0, 4, "=SUM(A1,C1)");

Con esto termino este mini HOW-TO, pueden encontrar más información acerca de SpreadSheet en:
http://pear.php.net/manual/en/package.fileformats.spreadsheet-excel-writer.php

Espero que les haya sido de utilidad este artículo.