Portada » Lenguaje PHP » Insertar Editar Eliminar Registros con Función PHP MySQLi

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

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.

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

w3schools

¿De cuánta utilidad te ha parecido este contenido?

¡Haz clic en una estrella para puntuarlo!

Promedio de puntuación 5 / 5. Recuento de votos: 1

Hasta ahora, ¡no hay votos!. Sé el primero en puntuar este contenido.

12 comentarios en “Insertar Editar Eliminar Registros con Función PHP MySQLi”

  1. 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

    1. Hola Mel

      Tienes razón, en la linea 60 del fichero index.php muestra lo siguiente:

      $field = array("name"=>$_POST['name']);
      

      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.

      $field = array("nombres"=>$_POST['nombres'],"apellidos"=>$_POST['apellidos']);
      

      Saludos cordiales y gracias por comentar.

  2. 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»

  3. 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

  4. jejejeje….
    if(isset($_POST[‘submit’])){
    $field = array(«nombres»=>$_POST[‘nombres’],»apellidos»=>$_POST[‘apellidos’]);
    $tbl = «tabla_demo»;
    insert($tbl,$field);

    }

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Scroll al inicio
Esta web utiliza cookies propias para su correcto funcionamiento. Contiene enlaces a sitios web de terceros con políticas de privacidad ajenas que podrás aceptar o no cuando accedas a ellos. Al hacer clic en el botón Aceptar, acepta el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos.
Privacidad