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.