lunes, 26 de mayo de 2014

Diseñando formularios en PHP: el interfaz de MySQL

A diferencia de MS Access, que permite la creación de formularios integrados en el propio programa, MySQL no consta de tales capacidades. Para ello es necesario diseñar los formularios en HTML y PHP de forma tal que permitan la interacción entre el usuario y el sistema de base de datos en los puntos y aspectos que se definan. Éstos pueden ser los siguientes:

Insertar registros
La función insertar registros queda patente en todos los sistemas de información y bases de datos. Siempre será necesario alimentar las tablas de la BD de forma manual o automática. En tales casos, se emplean los siguientes elementos:
  • Formulario HTML que contenga los campos de la base de datos. Los campos deben contener la denominación correspondiente con el atributo "name=" con la finalidad de que la información enviada a través del formulario pueda ser recuperada con la variable $_POST o $_GET. Contendrá además un botón para el envío de datos. 
  • Estructura condicional en PHP que permita detectar si el usuario envió el formulario. Por ejemplo: if($_POST[insert]){ instrucciones a ejecutar + SQL }
  • Instrucción SQL "INSERT INTO tabla SET campo1='valor1', campo2='valor2'" que permite la introducción o adición de un nuevo registro en la tabla de la base de datos que se especifique.
  • Método de redirección Javascript para que una vez insertado el registro la página del formulario sea actualizada.
Modificar y eliminar registros
La función de modificar resulta esencial para la actualización de registros su edición y tratamiento. Para elaborar un formulario de edición de registros se necesitan los siguientes elementos:
  • Consulta SQL para mostrar todos los registros de la tabla especificada. La instrucción empleada es "SELECT * FROM tabla WHERE condición" que permite la selección de todos los registros de la tabla que cumplan la condición que se establezca.
  • Estructura condicional en PHP "while" que permita recorrer todos los resultados obtenidos con la consulta, uno a uno, imprimiendo formularios para cada uno de los registros. 
  • Los formularios para cada uno de los registros, constarán de un campo oculto que almacenará el número de identificación del registro. El identificador permitirá indicar a posteriori sobre qué registro se realizarán los cambios efectuados. Además cada valor de cada campo tendrá que ser recogido en un campo de texto o área de texto del formulario a fin de que pueda ser modificable. Finalmente, el formulario de cada registro, constará de dos botones; el primero para el envío de datos que identifique que el registro será modificado con los nuevos valores que el usuario hubiese especificado; el segundo para indicar que el registro será eliminado de la base de datos
  • Cuando el usuario modifica uno de los formularios y hace clic en el botón de actualizar o modificar el registro, se necesita una estructura condicional en PHP que permita detectar si el usuario envió el formulario, por ejemplo: if($_POST[edit]){ instrucciones a ejecutar + SQL } y  if($_POST[delete]){ instrucciones a ejecutar + SQL }
  • Instrucción SQL para la acción de edición: "UPDATE tabla SET campo1='valor1', campo2='valor2' WHERE id='$_POST[id]'" que permite la modificación de los valores de los campos del registro especificado en la cláusula condicional WHERE. Es decir, la actualización o cambio de los valores se produce cuando el campo "id" de la tabla sea igual al valor enviado desde el formulario con el campo oculto que almacena el identificador del registro. 
  • Instrucción SQL para la acción de eliminación: "DELETE FROM tabla WHERE id='$_POST[id]'" que permite eliminar el registro de la tabla cuyo campo "id" sea igual al valor enviado desde el formulario con el campo oculto que almacena el identificador del registro.
Buscar registros
La función buscar registros debe ser incluida en todas las tablas y no únicamente la capacidad de filtrado por campos. En muchos casos las tablas principales requieren métodos de consulta avanzados que permitan procesar consultas a texto completo. En este aspecto MySQL proporciona prestaciones a tener en cuenta. Para elaborar un formulario de consulta de registros se necesitan los siguientes elementos:
  • Formulario de consulta HTML con un campo de texto para que el usuario exprese la consulta y un botón para lanzar o ejecutar dicha consulta.
  • Estructura condicional en PHP "if" que permita detectar que la consulta fue efectuada por el usuario al presionar el botón buscar. Por ejemplo: if($_POST[search]){ instrucciones a ejecutar + SQL }
  • Instrucción SQL para la acción de buscar: "SELECT * FROM tabla WHERE indexer LIKE '$_POST[query]'" que permite la comparación de la cadena de consulta del usuario con respecto al campo de indexación "indexer".
  • Estructura condicional en PHP "while" que permita recorrer todos los resultados obtenidos con la consulta, uno a uno, imprimiendo formularios para cada uno de los registros. 

No hay comentarios:

Publicar un comentario