miércoles, 27 de marzo de 2013

Consultar Datos de Una Base de Datos MySql con PHP

En este tutorial veremos como consultar o visualizar los datos de nuestra base de datos, en el navegador. Para ello necesitaremos las siguientes herramientas, tener instalado algún programa como: WAMP, XAMP o AppServ. Si no lo tienes da click en los enlaces para descargarlo.

Trabajaremos sobre el patrón MVC (Modelo, Vista, Controlador). Dividiremos nuestra aplicación en los tres componentes mencionados anteriormente.

El modelo se encargará de recuperar la información de la Base de Datos, es aqui donde tendremos todas, las clases y funciones de nuestra aplicación.

La vista representa, la interfaz gráfica de nuestra aplicación, es decir lo que vamos a ver en el navegador, son los campos de texto, datos que nos arroje nuestra consulta, botones entre otros.
El controlodor sera el puente de comunicacion entre la vista y el modelo, es decir todas las peticiones que el usuario atravez de la vista le pida a la aplicacion pasan por el controlador, este a su vez se comunica con el modelo, este de acuerdo a las peticiones realiza las instruciones y las envia al controlador, y el controlador las envia a la vista que es lo que finalmente el usuario puede ver, que es el resultado.




Luego de explicar el patron de diseño que utilizaremos, empezaremos a explicar el contenido y/o pasos para implementar nuestra aplicacion en un servidor local o remoto.
Crearemos nuestra base de datos que se llamará usuarios y la cual tendrá la tabla personas el cual contiene los siguientes campos: codigo, nombres, apellidos, telefono y ciudad. El script de esta tabla se encuentra en el archivo de descarga de nuestra aplicación.

Contenido de la carpeta conexion

 

Dentro de la carpeta conexion, hay un solo archivo que es conexion.php. Este archivo se encargará de conectarse a nuestra base de datos mysql, por medio del lenguaje PHP.
Archivo conexion.php
El contenido del archivo conexion.php, es una clase que en PHP se definide como class, y la cual hemos llamado Conexion. Las variables que declaramos son: $ruta, $usuario, $contrasena y $baseDatos. 

Creamos el constructor de la clase el cual se llama igual function Conexion() y dentro de este le asginamos el tipo de variable y su valor correspondiente. En esta caso las tengo definidas como: si estas trabajando localmente los mas comun es $ruta="localhost", pero si estas trabajando en un servidor remoto, simplemente debes poner el que te provea tu host. $usuario esta variable se le asigna el valor del usuario de esta base de datos, si es local el mas comun es root, si es remoto, el que te provea tu host, $contrasena es la contraseña que le hayas asignado, en este caso como no le he asignado contraseña la dejaremos en blanco, y por ultimo $baseDatos es la base de datos a la que vamos a conectar nuestra aplicacion, cmo dijimos que era usuarios, le pondremos a esta, si estas trabajando remotamente, es comun que aparte del nombre que le pongamos a nuestra base de datos, le agregue otros caracteres como por ejemplo: a123456_personas. 

Ahora sigue el metodo o funcion conectarse(), dentro de esta funcion creamos una variable la cual almacenara los datos de nuestra conexion, con el metodo mysql_connect de PHP, lo que hacemos es crear una conexion, el cual le pasamos como parametro, los datos de nuestras variables declaradas globalmente, es decir "localhost", "root" y contraseña en este caso vacio, la funcion die lo que hace es detener nuestro aplicacion y le pasamos como parametro otra funcion de PHP mysql_error(), el cual nos mostrara el mensaje de error y nos dira por que la conexion no se pudo establecer. 

Luego con un condicional if, al que le pasamos $conectarse, es decir el resultado de la operacion de la conexion, si el resultado nos devuelve true o verdadero, la conexion fue exitosa sino retornará error. 

Nota: Investigando sobre la funcion mysql_connect(), PHP en su pagina oficial desaconseja el uso de esta funcion, en su lugar recomienda usar mysqli_connect(), de igual manera les dejo como quedaria usando cualquiera de las dos funciones, simplemente descometan o comentan cual quiere usar. Si quieren dejarlo con mysql_connect(), entonces comentarean la line en la cual se encuentra mysqli_connect(), pero si la quieren dejar con esta ultima entonces comentarean la linea en que se encuentra mysql_connect(), y la linea donde se encuentra la funcion mysql_select_db(). 

Contenido de la carpeta modelo

 

Esta carpeta contiene también un único archivo llamado consulta.php, el cual también contiene una clase llamada Consulta.
Lo primero que hacemos es hacer un require es decir que vamos a utilizar todo lo que contenga el archivo conexion.php, para despues utilizarlos.Estel también tiene variables declaradasy su constructor, desntro de este constructor, a las variable $conexion lo que hacemos es crear una instancia de esa clase Conexion, es decir podremos usar todas las funciones y variables de esta clase. Luego en $conn como dijimos antes le pasamos la variable $conexion y este a su ves utiliza la funcion conectarse() que esta en la clase Conexion() del archivo conexion.php. 

Luego esta la función listar(), que lo que hace es una consulta a la base de datos usuarios y mas exactamente a la tabla personas. La función de PHP mysql_query(), lo que hace es ejecutar esa consulta "select * from personas", y la almacena en la variable $rs, luego lo retornamos con un return que es otra funcion de PHP. Luego mostramos los datos en una tabla.

Contenido de la carpeta controlador

 

Esta carpeta contiene un archivo llamado controlador.php, el cual como dijimos antes es el que responde a las peticiones del usuario, lo que hace es que cuando presione el boton Consultar, este se redirecciona hacia el controlador y este por medio del metodo header de PHP, lo redirecciona y le pasa un dato por URL GET visualizar y le asignamos un valor en este caso si, y nos llevara a la vista de nuevo y este mostrara los datos de la consulta.

Contenido de la carpeta vista

 

Esta carpeta contiene el archivo vista.php, el cual en si es código HTML, es una interfaz simple, con un botón Consultar el cual al presionar nos mostrará los datos de la base de datos.

Descarga la aplicación aqui.

Obtén tu tarjeta Débito Prepago MasterCard Gratis. 
Te la envian directamente desde EEUU a la puerta de tu casa, sin ningún costo.
La utilizas y recargas cuando quieras, sirve desde compras en linea y tiendas, retiro de cajeros automaticos, pagos de Paypal y tus clientes y mucho más. Además si la solicitas ya te regalan 25$ (dolares).
Click en la imagen para obtener tarjeta.

No hay comentarios:

Publicar un comentario

Post Recomendado

Envio de Correos con PHPMailer 5.5 y PHP 7

En el siguiente post veremos como implementar la librería PHPMailer para el envío de correos con PHP. Para ello solo necesitamos la confi...

Post Destacados