domingo, 5 de diciembre de 2021

Insertar Editar Eliminar Registros con Función PHP MySQLi

Insertar Editar Eliminar Registros con Función PHP MySQLi

a) Insertar Registros

INSERT INTO tabla_name (column1, column2,...) VALUES (value1, value2,...)

b)  Actualizar Registros

UPDATE table_name SET column1=value, column2=value2,... WHERE some_column=id_value

c) Borrar Registros

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.

Insertar Editar Eliminar funcion PHP
Insertar Editar Eliminar funcion PHP

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.

Insertar Editar Eliminar Registros con Función PHP MySQLi
Insertar Editar Eliminar Registros con Función PHP MySQLi

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.

 

Insertar Editar Eliminar Registros con Función PHP MySQLi

Insertar Editar Eliminar Registros con Función PHP MySQLi a)  Insertar Registros INSERT INTO tabla_name ( column1 , column2 ,...) VALUES (...