Insertar Editar Eliminar Registros con Función PHP MySQLi

Insertar Editar Eliminar Registros con Función PHP. En este artículo veremos las tres instrucciones juntas para tener un criterio amplio de su funcionamiento, a continuación, veremos la inserción, la actualización y la eliminación de registros en la base de datos utilizando varias funciones PHP para lograr nuestro propósito, sin embargo, daremos ejemplos de su usabilidad más adelante. Veamos las Sintaxis correspondientes.
Insertar Editar Eliminar Registros con Función PHP MySQLi
INSERT INTO tabla_name (column1, column2,...) VALUES (value1, value2,...)
UPDATE table_name SET column1=value, column2=value2,... WHERE some_column=id_value
DELETE FROM table_name WHERE some_column = id_value
Con esta publicación mostraremos la implementación de tres funciones para nuestro trabajo y que funciones de manera dinámica y el uso de la buena programación.
Utilizaremos HTML para una buena interfaz con el usuario final y que nosotros podemos estructurar a nuestro gusto, en este ejemplo necesitaremos los siguientes campos: Nombre, Apellidos o la ID del registro.

Ejemplo #01 funciones PHP
a) Función Insertar registros
function insert($tblname,$form_data){ $fields = array_keys($form_data); $sql="INSERT INTO ".$tblname."(".implode(',', $fields).") VALUES('".implode("','", $form_data)."')"; return db_query($sql); }
b) Función Editar Registros
function edit($tblname,$form_data,$field_id,$id){ $sql = "UPDATE ".$tblname." SET "; $data = array(); foreach($form_data as $column=>$value){ $data[] =$column."="."'".$value."'"; } $sql .= implode(',',$data); $sql.=" where ".$field_id." = ".$id.""; return db_query($sql); }
c) Eliminar Registros
function delete($tblname,$field_id,$id){ $sql = "delete from ".$tblname." where ".$field_id."=".$id.""; return db_query($sql); }
Ejemplo #02 Ejemplo Completo
a) Crear Base de datos y tabla en el Servidor web
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');
b) Creando el Archivo «Index.php»
<!doctype html> <html> <head> <meta charset="utf-8"> <title>Insertar, Editar, Eliminar Registros con Función PHP MySQLi </title> <link type="text/css" href="bootstrap.min.css" rel="stylesheet"> <link type="text/css" href="http://fontawesome.io/assets/font-awesome/css/font-awesome.css" rel="stylesheet"> <style> table { border-collapse: collapse; width: 100%; } th, td { text-align: left; padding: 4px; } tr:nth-child(even){background-color: #f2f2f2} th { background-color: #4CAF50; color: white; } .main-wrapper{ width:60%; background:#E0E4E5; border:1px solid #292929; padding:25px; margin:auto; } hr { margin-top: 5px; margin-bottom: 5px; border: 0; border-top: 1px solid #eee; } h2{ font-size:24px; } </style> </head> <body> <div class="main-wrapper"> <h2>Insertar, Editar, Eliminar Registros con Función PHP MySQLi </h2> <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" value="Insertar"> </form> <br> <?php include("function.php"); if(isset($_POST['submit'])){ $field = array("name"=>$_POST['name']); $tbl = "tabla_demo"; insert($tbl,$field); } ?> <table border="1" width="100%"> <tr> <th width="41%">Nombres</th> <th width="46%">Apellidos</th> <th width="13%">Opcion</th> </tr> <?php $sql = "select * from tabla_demo"; $result = db_query($sql); while($row = mysqli_fetch_object($result)){ ?> <tr> <td><?php echo $row->nombres;?></td> <td><?php echo $row->apellidos;?></td> <td> <a class="btn btn-primary" href="editar.php?id=<?php echo $row->id; ?>"><i class="fa fa-pencil fa-lg" aria-hidden="true"></i></a> <a class="btn btn-primary" href="borrar.php?id=<?php echo $row->id;?>"><i class="fa fa-trash-o fa-lg" aria-hidden="true"></i></a> </td> </tr> <?php } ?> </table> </div> </body> </html>
c) Creando el archivo de Funciones «function.php»
El ejemplo de este artículo es el uso de un CRUD pero en base de funciones. Por lo tanto, este fichero es el cerebro de este pequeño sistema web.
<?php function db_query($query) { $connection = mysqli_connect("localhost","root","root","baul"); $result = mysqli_query($connection,$query); return $result; } function insert($tblname,$form_data){ $fields = array_keys($form_data); $sql="INSERT INTO ".$tblname."(".implode(',', $fields).") VALUES('".implode("','", $form_data)."')"; return db_query($sql); } function delete($tblname,$field_id,$id){ $sql = "delete from ".$tblname." where ".$field_id."=".$id.""; return db_query($sql); } function edit($tblname,$form_data,$field_id,$id){ $sql = "UPDATE ".$tblname." SET "; $data = array(); foreach($form_data as $column=>$value){ $data[] =$column."="."'".$value."'"; } $sql .= implode(',',$data); $sql.=" where ".$field_id." = ".$id.""; return db_query($sql); } function select_id($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; } ?>
d) Creando el archivo «borrar.php»
Este fichero está encargado de realizar la eliminación de registro a través de una función PHP. Una vez realizada su tarea se redirige automáticamente a la página principal del sitio web.
<?php include("function.php"); $id = $_GET['id']; delete('tabla_demo','id',$id); header("location:index.php"); ?>
e) Creando el archivo «editar.php»
Fichero en el cual se realiza la modificación de un determinado registro seleccionado. Sin embargo, se basa en el uso de un formulario HTML.
<!doctype html> <html> <head> <meta charset="utf-8"> <title>Editar Registros Mysql Mediante Funcion</title> <link type="text/css" href="bootstrap.min.css" rel="stylesheet"> <link type="text/css" href="http://fontawesome.io/assets/font-awesome/css/font-awesome.css" rel="stylesheet"> <style> table { border-collapse: collapse; width: 100%; } th, td { text-align: left; padding: 4px; } tr:nth-child(even){background-color: #f2f2f2} th { background-color: #4CAF50; color: white; } .main-wrapper{ width:50%; background:#E0E4E5; border:1px solid #292929; padding:25px; } hr { margin-top: 5px; margin-bottom: 5px; border: 0; border-top: 1px solid #eee; } </style> </head> <body> <div class="main-wrapper"> <h2>Editar Registros con Función PHP </h2> <br><br> <?php include("function.php"); $id = $_GET['id']; select_id('tabla_demo','id',$id); ?> <form action="" method="post"> <input type="text" value="<?php echo $row->nombres;?>" name="nombres"> <input type="text" value="<?php echo $row->apellidos;?>" name="apellidos"> <input type="submit" name="submit"> </form> <?php if(isset($_POST['submit'])){ $field = array("nombres"=>$_POST['nombres'], "apellidos"=>$_POST['apellidos']); $tbl = "tabla_demo"; edit($tbl,$field,'id',$id); header("location:index.php"); } ?> </div> </body> </html>
Buenos espero que esta pequeña aportacion les sirva bastante, saludos y no se olviden de suscribirse.

CONCLUSIÓN: INSERTAR EDITAR ELIMINAR REGISTROS
Estas características son propias de un sistema CRUD por sus siglas en Ingles. Por lo tanto, estos sistemas poseen las siguientes operaciones.
- Insertar registros.
- Mostrar registros.
- Editar Registros.
- Eliminar registros.
Todas estas operaciones trabajan bajo un lenguaje de programación y una base de datos existente en el cual intercambiar información.
Su uso es muy recomendado para desarrollar sistemas web y más aún si utilizan funciones como en este ejemplo. Haciendo que el trabajo sea muy dinámico.
DESCARGA
Referencia
Buenas tardes Nestor
Bajé tu proyecto: «Insertar Editar Eliminar Registros con Función PHP MySQLi»
Index.php me da error en línea 75
function.php me da error en líneas 3, 4 si pruebo editar.php en línea 37
Me gustaría me apoyaras para que corra tu proyecto.
La tabla_demo la leo e inclusive inserté un nuevo registro con mis datos en phpmyadmin.
Estoy desarrollando un SISTEMA ERP en php – MySQL – Laravel.
Las diferencias que detecto en versiones son:
tecnología/prod. XAMPP Tus versiones
phpMyAdmin 4.9.0.1 2.11.11
php 7.3.6 5.2.14
Apache 2.4.39 Servidor 5.2.14
Bootstrap 4.1.3 3.3.2
Laravel 5.8
Espero tus indicaciones. Voy a necesitar de tu asesoría para la codificación de módulos del proyecto.
Ya tengo especificaciones de las opciones y diseño BD en MySQL (BD probada con datos reales)
Para producción deberá subirse a un servicio de nube con Linux.
Espero tus noticias.
Gracias
Buenas noches no inserta ni edita!
Hola Mel
Tienes razón, en la linea 60 del fichero index.php muestra lo siguiente:
Hay que cambiarlo por los nombres de tus columnas de tu tabla y ademas los nombre de los inputs de tu formualario. Por ejemplo aqui coloque nombres y apellidos, usted deberia colocar los campos que tiene en su tabla MySQL.
Saludos cordiales y gracias por comentar.
Hola Nestor, espero tengas un buen dia, estoy practicando este ejemplo, muy buen ejemplo, me gusto, sin embargo, me hace falta la parte de CSS, quise descargar tus files, incluso hice login, pero no tuve exito. Como puedo descargarlos? «bootstrap.min.css»
Saludos Carlos
Ya se habilitó la descarga del paquete comprimido, gracias por su comentario se corrigió el inconveniente.
Saludos cordiales.
Hola Carlos
Una disculpa enorme la demora, el fichero que mencionas viene en la descarga del escript que esta completamente libre para la descarga al final del articulo.
Pero si deseas otras versiones de BootStrap puedes acceder a la página oficial de esta librería y descargarlo, te dejo en vinculo:
http://getbootstrap.com/
Buenas Noche Nestor.
Que pena consultarte, pero tengo un trabajo que no puedo resolver:
tengo dos tablas iguales y tengo que seleccionar de la tabla T1 mediante la función random 100 registros que cumplan . dos. dos criterios y grabarlos en la tabla T2. los criterios son parámetros de selección en una transacción. La clave principal de cada tabla en el numero de registro.
Si me puede ayudar te lo agradezco
No inserta los registros…
jejejeje….
if(isset($_POST[‘submit’])){
$field = array(«nombres»=>$_POST[‘nombres’],»apellidos»=>$_POST[‘apellidos’]);
$tbl = «tabla_demo»;
insert($tbl,$field);
}
Minimo error que dejaste aldrede xD
Saludos santogrial
Que bueno que te ha sido util.
Muchas gracias me sirvio mucho, solo con el archi de las funciones puede ahorrarle mucho tiempo a los novatos como yo. Saludos