Insertar Registros con función PHP: Ejemplos
Insertar Registros con función PHP. En este artículo veremos la forma sencilla de inserción de datos recopilados de un formulario, sin embargo, esta información se perdería gracias al gestor de base de datos podemos almacenarlo para usarlo posteriormente cuando lo necesitemos.
Si bien hemos diseñado un modelo en HTML para adaptarse a todos los campos necesarios: Nombre, Apellidos todo va bien hasta que llegar al PHP. Ahora nos damos cuenta que tienes que procesar y agregar todos los elementos del formulario para almacenar de forma masiva en nuestra DB. Normalmente tendrías que crear una consulta SQL similar a la siguiente:
Insertar Registros con función PHP
Sintaxis de Insert Into
INSERT INTO tabla_name (column1, column2,...) VALUES (value1, value2,...)
Ejemplo de uso de la sintaxis
$sql="INSERT INTO mi_tabla(nombre, apellido) VALUES('Juan', 'Flores')";
Gracias a PHP existe una manera más sencilla, con algunas funciones de base de datos de código pequeño. La clave para que estas funciones se ejecute es el formato de la variable $form_data. La variable mencionada es una matriz y debe estar organizada de modo que la clave de cada elemento de la matriz sea el nombre de la columna para los datos en la parte de valor de la matriz.
Ejemplo #01 Utilizando funciones
Creando la base de datos
CREATE TABLE IF NOT EXISTS `tabla_demo` ( `id` int(11) NOT NULL auto_increment, `nombres` varchar(25) NOT NULL, `apellidos` varchar(35) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=11 ; -- -- Volcar la base de datos para la tabla `tabla_demo` -- INSERT INTO `tabla_demo` (`id`, `nombres`, `apellidos`) VALUES (3, 'Juan Carlos', 'Albarracin Flores'), (4, 'Meliza Estela', 'Loza Morales'), (5, 'Mario', 'Ruiz Sotomayor'), (6, 'Luisa Eugenia', 'Candia Quintana'), (7, 'Nohelia Maria', 'Valdivia Valdivia'), (8, 'Nilda Elena', 'Castillo Garcia');
Archivo (funcion.php)
<?php //Conexion con la base de datos function db_query($query) { $connection = mysqli_connect("localhost","root","PASSWORD","BASE_DATOS"); $result = mysqli_query($connection,$query); return $result; } // Crear La función Insertar function insertar($tblname,$form_data){ $fields = array_keys($form_data); $sql="INSERT INTO ".$tblname."(".implode(',', $fields).") VALUES('".implode("','", $form_data)."')"; return db_query($sql); } //Seleccionar los datos de la tabla para mostrarlos. function select_datos($tblname,$field_name,$field_id){ $sql = "Select * from ".$tblname." where ".$field_name." = ".$field_id.""; $db=db_query($sql); $GLOBALS['row'] = mysqli_fetch_object($db); return $sql; } ?>
Archivo (index.php)
a) Crear formulario HTML para la insercion de datos.
<h1>Insertar Registros con Función PHP </h1> <br><br> <form action="" method="post"> <div class="col-xs-3"> <input class="form-control" name="nombres" type="text" placeholder="Nombres"> </div> <div class="col-xs-3"> <input class="form-control" name="apellidos" type="text" placeholder="Apellidos"> </div> <input type="submit" name="submit" class="btn btn-primary"> </form> <br>
b) Llamar el archivo que contiene la función y procesa en envio con ISSET
<?php include("function.php"); if(isset($_POST['submit'])){ $campos = array("nombres"=>$_POST['nombres'], "apellidos"=>$_POST['apellidos']); $tabla = "tabla_demo";//Tabla en base de datos insertar($tabla,$campos); } ?>
c) Mostrar Registros almacenados dentro de la base de datos.
<table border="1"> <tr> <th width="48%"><strong>Nombres</strong></th> <th width="52%"><strong>Apellidos</strong></th> </tr> <?php $sql = "select * from tabla_demo"; $resultado = db_query($sql); while($row = mysqli_fetch_object($resultado)){ ?> <tr> <td><?php echo $row->nombres;?></td> <td><?php echo $row->apellidos;?></td> </tr> <?php } ?> </table>
Espero que esta breve explicación les sirva y no se olviden de suscribirse para estar al dia en las ultimas publicaciones.
Descargar insertar Registros con PHP
Referencia
Saludos quisiera hacer una consulta que solo me muestre los datos de la persona que previamente pasó por un login, sus nombres apellidos y calificaciones siendo alumno Como puedo hacer esa consulta? Un abrazo !!!
Hola, te felicito por el gran aporte que haces; es lo que andaba buscando desde algún tiempo, pero tengo una pregunta:
si quiero ejecutar la función insertar() a 2 tablas relacionadas y que me muestre un mensaje que indique que ejecuto exitosamente el registro, ¿como sería el script? Gracias
Saludos Franklin Taylhardat
Bueno, para mostra mensaje para el ingreso correcto, tendriamos que agregar una variable al:
insertar($tabla,$campos);
y Cambiarlo a este codigo usando condicional if else. Y nos quedaria de la siguiente manera.
$guardar= insertar($tabla,$campos);
Ahora. El código completo.
include("function.php");
if(isset($_POST['submit'])){
$campos = array("nombres"=>$_POST['nombres'], "apellidos"=>$_POST['apellidos']);
$tabla = "tabla_demo";//Tabla en base de datos
$guardar= insertar($tabla,$campos);
if($guardar)
{
echo "Registro Insertado";
}
else
{
echo "No se pudo insertar";
}
}
no se si sigues aqui amigo pero es que no registra el ejemplo de arriba y no me da el error
Muy bien explicado, ya solucione mi problema con esta funcion, gracias por compartirlo. 🙂