[caption id="attachment_768" align="aligncenter" width="610"]
Como insertar datos en una base de datos con Php[/caption]
Toda esta informacion ha sido sacada de Aprende Php en un 2x3Para obtener el codigo has clic aquiPara poder insertar información en la base de datos debemos mostrarle un formulario al usuario para que el llene toda la información necesaria, y luego cuando el usuario envié el formulario nosotros nos encargaremos de analizar la información para saber si es correcta y registrarla, pero en caso de que encontremos errores le notificaremos al usuario.
Mostrar formulario al usuario (Vista):
Aquí nos encargaremos de diseñar el formulario y configurarlo para que vaya a la página que deseemos, esa página a la cual ir, será la encargada de procesar la información y registrar en la base de datos.
La página que se encargara de mostrar el formulario será:
formulario.php.Quedaría algo así: prueba/formulario.php
No tiene nada del otro mundo, pues en si será puro código html, puede crear la pagina con bloc de notas, notepad++ o dreamweaver, para mayor comodidad les anexare el código de una página simple con un formulario.
Lo que se debe destacar el es nombre de los cuadros de texto, deben recordar esos nombre ya que con esos es que podremos acceder a la información.
Les creare una tabla para que puedan ver como se llama el cuadro de texto que alojara la información del campo deseado.
Campo |
Nombre del Cuadro de Texto |
nombre |
nombre |
identificacion |
id |
correo |
email |
edad |
edad |
Recibir Información del Usuario y guardar (Controlador y Modelo):
Luego de haber diseñado el formulario notara una propiedad especial del formulario
[html]
<strong><form</strong> action="php/registrar.php" method="post" name="registrar"<strong>></strong></div>
<div>[/html]
El
action es en la cual colocamos la dirección donde se encuentra la clase encargada de procesar la información, y el
method escogido es post (también existe el get, para saber la diferencias puedes consultar un manual de html).
Como verán, en el action hace referencia a una clase que no existe, como lo es registrar.php dentro de la clase php.
Pero para eso es esta sección, para crear la clase:
registrar.php en la carpeta php, quedaría algo asi
: prueba/php/registrar.phpObtener datos del formulario:
Para poder obtener la información enviada desde la página formulario.php por el formulario debemos usar la variable $_POST.
Para poder obtener los usamos la variable $_POST['nombre'], donde nombre es el nombre del cuadro de texto del formulario.
[php]
<div>
<ul>
<li>$nom=$_POST['nombre'];</li>
<li>$id=$_POST['id'];</li>
<li>$email=$_POST['email'];</li>
<li>$edad=$_POST['edad'];</li>
</ul>
</div>
[/php]
Crear código sql para insertar en la base de datos:
Pero aquí no termina todo, luego de obtener los datos debemos recurrir a nuestros conocimientos de sql para poder insertar en la base de datos, les recuerdo que para insertar en una base de datos seguimos el siguiente esquema:
[sql]
<strong>insert</strong> <strong>into</strong> tabla (campo1, campo2) <strong>values</strong> (valor1, valor2)</div>
<div>[/sql]
Donde:
Parámetro |
Descripción |
tabla |
Nombre de la tabla donde se registraran los datos |
campo x |
Nombre del campo que deseas llenar |
valor x |
Informacion que se registrara en la tabla del campo x |
En nuestro caso el nombre de la tabla es
persona (que se creó anteriormente, sino sabes puedes verlo
aquí).
Campo1, campo2 hace referencia a los campos (o columnas) que se encuentran en la tabla que queremos llenar (los campos se crearon con anterioridad para ver como se realizo puedes verlo
aquí)
Valor1, valor2 hace referencia a la información que se envía desde el formulario, es decir la que obtuvimos del formulario.
Aquí el código:
[php]
$sql='insert into persona (nombre,identificacion,correo,edad) values ("'.$nom.'",'.$id.',"'.$email.'",'.$edad.')'</div>
<div>[/php]
Como podrán ver en la sesión de values se empieza a mezclar con los parámetros recibidos.
Para poder insertar un texto en una tabla debemos enviarlos con comillas simples o dobles, algo así:
[sql]
<strong>insert</strong> <strong>into</strong> tabla (nombre) value ("Jamper91")</div>
<div>[/sql]
Pero como nosotros no vamos a ingresar siempre el mismo texto debemos colocar en vez de Jamper91 el nombre de la variable que contiene la información, para eso usamos el “.”, para combinar texto y variables:
[php]
$sql='insert into tabla (nombre) value ('.$nom.’)'</div>
<div>[/php]
Pero como notaran si lo dejamos tal como está nos quedaría algo así
[sql]
<strong>insert</strong> <strong>into</strong> tabla (nombre) value (Jamper91)</div>
<div>[/sql]
Para corregir esto debemos agregar las comillas dobles antes y después de la variable así:
[php]
$sql='insert into tabla (nombre) value ("'.$nom.'")'</div>
<div>[/php]
Y eso es todo, luego lo único que nos falta es ejecutarlo, para eso lo hacemos ejecutando una acción realizada con anterioridad
aquí.