Breaking

Post Top Ad

Your Ad Spot

domingo, 10 de marzo de 2019

Eliminar múltiples registros de la base de datos en CodeIgniter

Eliminar múltiples registros con un solo clic es muy útil para la lista de datos grandes. Esta característica proporciona una forma fácil de usar para eliminar múltiples registros de la base de datos rápidamente. El usuario no necesita hacer clic varias veces para eliminar varias filas, en lugar de eso, todos los registros se pueden eliminar con un solo clic.
La funcionalidad de eliminación de múltiples registros se puede implementar fácilmente mediante casillas de verificación. Puede usar la casilla de verificación para seleccionar cada registro en la lista de datos y eliminar todos los registros seleccionados de la base de datos. Además, la función Seleccionar / Deseleccionar todas las casillas de verificación facilitará la selección de múltiples registros porque le permite al usuario marcar o desmarcar todas las filas a la vez. En este tutorial, le mostraremos cómo eliminar varios registros de la base de datos mediante la casilla de verificación en CodeIgniter.
El código de ejemplo, los siguientes pasos se seguirán para eliminar varios registros de la base de datos en CodeIgniter .
  • Recupere todos los datos de los usuarios de la base de datos MySQL y enumérelos en una tabla HTML.
  • Adjunte una casilla de verificación a cada fila para seleccionar múltiples registros.
  • Agregue una casilla de verificación en el encabezado de la tabla para marcar o desmarcar todas las casillas de verificación con un solo clic.
  • Botón Eliminar para eliminar todas las filas marcadas de la tabla de usuarios en la base de datos MySQL.

Crear tabla de base de datos

Para almacenar los datos del usuario, es necesario crear una tabla en la base de datos. El siguiente SQL crea una userstabla con algunos campos básicos en la base de datos MySQL.
CREATE  TABLE  `users` (
  ` id`  int ( 11 ) NOT  NULL AUTO_INCREMENT,
  `first_name`  varchar ( 100 ) COLLATE utf8_unicode_ci NOT  NULL ,
  ` last_name`  varchar ( 100 ) COLLATE utf8_unicode_ci NOT  NULL ,
  `email`  varchar ( 200 ) COLLATE utf8_unicodeikci NOT  NULL ,
  `phone`  varchar ( 15 )COLLATE utf8_unicode_ci NOT  NULL ,
  `created` datetime NOT  NULL ,
  ` modified` datetime NOT  NULL ,
  `status` tinyint ( 1 ) NOT  NULL  DEFAULT  '1'  COMMENT  '1 = Active, 0 = Deactive' ,LLAVE 
 PRIMARIA ( `id` )
) MOTOR = InnoDB  DEFAULT  CHARSET = utf8 COLLATE = utf8_unicode_ci;

Controlador (Users.php)

El controlador de Usuarios contiene 2 funciones, __construct()index()
__construct () : carga el modelo de usuario para recuperar datos de la base de datos.
índice () -
  • Obtenga datos de usuarios de la base de datos utilizando la getRows()función del modelo de usuario.
  • Pase los datos del usuario para ver y cargar esta vista.
  • Si se envía la solicitud de eliminación:
    • Obtener ID de filas seleccionadas usando $ _POST en PHP.
    • Compruebe si el usuario selecciona al menos un registro y la matriz de ID no está vacía.
    • En delete()función de la identificación del usuario seleccionado, elimine los registros de la base de datos utilizando la función del modelo de usuario.
  • Pase el mensaje de estado a la vista.
<? php defined ( 'BASEPATH' ) O exit ( 'No se permite el acceso directo al script' ); 

Los usuarios de la  clase  amplían el  controlador_CIN  { 
    
    función  __construct () { 
        parent :: __construct (); 
        
        // Cargar modelo de usuario 
        $ esto -> cargar -> modelo ( 'usuario' ); 
    } 
    
índice de     función pública  () { 
        $ data  = array (); 
        
        // Si se envía una solicitud de eliminación de registros 
        si ( $ this -> input -> post ('bulk_delete_submit' )) { 
            // Obtener todas las IDs seleccionadas 
            $ ids  $ this -> input -> post ( 'checked_id' ); 
            
             // Si la matriz de id no está vacía 
            si (! Empty ( $ ids )) { 
                // Borra los registros de la base 
                de datos $ delete  $ this -> user -> delete ( $ ids ); 
                
                // Si la eliminación se realiza correctamente 
                si ( $ eliminar ) { 
                    $ datos [ 'statusMsg' ] =  'Los usuarios seleccionados se han eliminado con éxito'. ; 
                } else { 
                    $ data[ 'statusMsg' ] =  'Ocurrió algún problema, inténtalo de nuevo.' ; 
                } 
            } else else { 
                $ data [ 'statusMsg' ] =  'Seleccione al menos 1 registro para eliminar'. ; 
            } 
        } 
        
        // Obtenga datos de usuario de la base 
        de datos $ datos [ 'usuarios' ] =  $ esto -> usuario -> getRows (); 
        
        // Pase los datos para ver 
        $ this -> load -> view ( 'users / index' $ data ); 
    } 
    
}

Modelo (User.php)

El modelo de usuario maneja los trabajos relacionados con la base de datos.
  • __construct () : especifique el nombre de la tabla de la base de datos.
  • getRows () : recupera los registros de la userstabla según las condiciones especificadas y devuelve como una matriz.
  • delete () : eliminar registros de la userstabla según la ID especificada.
<? php  if (!  defined ( 'BASEPATH' )) exit ( 'No se permite el acceso directo al script' ); 

clase de  usuario  se extiende  CI_Model { 
    
    función  __construct () { 
        $ this -> tblName  'usuarios' ; 
    } 
    
    / * 
     * Fetch publica datos de la base de datos 
     * @param id devuelve un solo registro si se especifica, de lo contrario todos los registros 
     * / 
    function  getRows ( $ params  = array ()) { 
        $ this -> db -> select ( '*'); 
        $ this -> db -> from ( $ this -> tblName ); 
        
        // obtener datos por condiciones 
        si ( array_key_exists ( "where" , $ params )) { 
            foreach ( $ params [ 'where' ] como  $ key  =>  $ value ) { 
                $ this -> db -> where ( $ key , $ valor ); 
            } 
        } 
        
        if ( array_key_exists ( "order_by" , $ params)) { 
            $ this -> db -> order_by ( $ params [ 'order_by' ]); 
        } 
        
        if ( array_key_exists ( "id" , $ params )) { 
            $ this -> db -> where ( 'id' , $ params [ 'id' ]); 
            $ consulta  $ esto -> db -> get (); 
            $ result  $ query -> row_array (); 
        } else { 
            // establece el inicio y el límite 
            si (array_key_exists ( "start" , $ params ) &&  array_key_exists ( "limit" , $ params )) { 
                $ this -> db -> limit ( $ params [ 'limit' ], $ params [ 'start' ]); 
            } elseif (! array_key_exists ( "start" , $ params ) &&  array_key_exists ( "limit" , $ params )) { 
                $ this -> db ->'límite' ]); 
            } 
            
            if ( array_key_exists ( "returnType" , $ params ) &&  $ params [ 'returnType' ] ==  'count' ) { 
                $ result  $ this -> db -> count_all_results (); 
            } else { 
                $ query  $ this -> db -> get (); 
                $ resultado  = ( $ consulta -> num_rows ()>  0 )? $ consulta -> result_array ():; 
            } 
        } 

        // devolver exagerado los datos 
        de retorno  $ resultado ; 
    } 
    
    / * 
     * Eliminar datos de la base de datos 
     * @param id array / int 
     * / 
    public function  delete ( $ id ) { 
        if ( is_array ( $ id )) { 
            $ this -> db -> where_in ( 'id' $ id ); 
        } else { 
            $ this -> db -> where ( 'id' $ id ); 
        }
        $ delete  $ this -> db -> delete ( $ this -> tblName ); 
        devuelve  $ borrar ? verdadero : falso ; 
    } 
    
}

Ver (usuarios / index.php)

JQuery se utiliza para mostrar el cuadro de diálogo de confirmación de eliminación e integrar la funcionalidad de seleccionar todas las casillas de verificación. Entonces, incluye primero la biblioteca jQuery.
< script  src = "https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js" ></ script >
El siguiente jQuery se usa para el diálogo de confirmación y para seleccionar todas las funciones de las casillas de verificación.
  • La delete_confirm()función verifica si el usuario selecciona al menos una casilla de verificación y muestra un cuadro de diálogo de alerta o confirmación antes de enviar el formulario al controlador de Usuarios para eliminar múltiples registros.
  • La Seleccionar / Deseleccionar todas las casillas usando jQuery ayuda al usuario a activar / desactivar todas las casillas de verificación en un solo clic.
< script > 
función  delete_confirm () {
     if ($ ( '.checkbox: checked' ) .length> 0 ) {
         var result = confirm ( "¿Está seguro de eliminar usuarios seleccionados?" );
        if (result) {
             return  true ;
        } else {
             devolver  falso ;
        }
    } else {
        alerta ( 'Seleccione al menos 1 registro para eliminar' );
        volver  falsa ;
    }
}

$ ( documento ) .ready ( función () {
    $ ( '#select_all' ) .on ( 'click' , function () {
         si ( esta .checked) {
            $ ( '.checkbox' ) .each ( función () {
                 esto .checked = true ;
            });
        } else {
             $ ( '.checkbox' ) .each ( función () {
                 esto .checked = false ;
            });
        }
    });
 
    $ ( '.checkbox' ) .on ( 'clic' , función () {
         if ($ ( '.checkbox: check' ) .length == $ ( '.checkbox' ) .length) {
            $ ( '#select_all' ) .prop ( 'marcado' , verdadero );
        } else {
            $ ( '#select_all' ) .prop ( 'marcado' , falso );
        }
    });
});
</ script >
Inicialmente, todos los registros de la tabla de usuarios se enumeran en una tabla HTML. El usuario puede seleccionar filas individuales o múltiples en la tabla y eliminar varios registros de la base de datos MySQL en la aplicación CodeIgniter .
  • Todos los datos del usuario se recuperan de la base de datos.
  • Se pueden seleccionar varias filas mediante la casilla de verificación proporcionada en cada fila de la tabla.
  • Al hacer clic en la casilla de verificación en el encabezado de la tabla, todas las casillas de verificación estarán marcadas o desmarcadas.
  • Una vez que se haga clic en el botón de eliminar, aparecerá un cuadro de diálogo para la confirmación.
  • Después de la confirmación, el formulario se envía para eliminar los registros seleccionados de la base de datos.
<! - Muestra el mensaje de estado -> 
<? Php  if (! Vacío ( $ statusMsg )) {  ?> 
< Div  class = "alert alert-success" > <? Php  echo  $ statusMsg ?> </ div > 
<? php  ?>

<! - Lista de datos de usuarios -> 
< form  name = "bulk_action_form"  action = ""  method = "post"  onSubmit = "return delete_confirm ();" /> 
    < table  class = " 
        bordered " > < thead > 
        < tr > 
            < th > < input  type = "checkbox"  id = "select_all"  value = "" /> <        
            Nombre </ th > 
            < th > Apellido </ th > 
            < th > Correo electrónico </ th > 
            < th > Teléfono </ th > 
        </ tr > 
        </ thead > 
        <? Php  if (! Vacío ( $ usuarios ) ) {foreach ( $ users  as  $ row ) {  ?> 
        < tr > 
            < td  align = "center" > <tipo de entrada  ="casilla de verificación"  nombre = "check_id []"  clase = "casilla de verificación"  valor = " <? php  echo  $ row [ 'id' ];  ?> " /> </ td >         
            < td > <? php  echo  $ row [ ' first_name ' ]; ?> </ td > 
            < td > <? php  echo  $ row [ 'last_name' ]; ?> </ td >
            echo  $ row [ 'email' ]; ?> </ td > 
            < td > <? php  echo  $ row [ 'phone' ]; ?> </ td > 
        </ tr > 
        <? php  }} else else  ?? 
            < tr > < td  colspan = "5" > No se encontraron registros. </ td > </ tr > 
        <? php  ?> 
    </ table > 
    < = "submit"  class = "btn btn-danger"  name = "bulk_delete_submit"  value = "DELETE" /> 
</ form >
Eliminar múltiples registros de la base de datos MySQL en PHP

Conclusión

Si desea que la sección de administración de datos sea fácil de usar, la eliminación múltiple es una funcionalidad indispensable para su aplicación CodeIgniter. Proporciona una forma efectiva de eliminar varios registros en CodeIgniter . Con nuestro código de ejemplo, puede marcar / desmarcar todos los registros a la vez, obtener el valor de múltiples casillas de verificación en CodeIgniter y eliminar las filas seleccionadas de la base de datos con un solo clic.

No hay comentarios.:

Publicar un comentario

Dejanos tu comentario para seguir mejorando!

Post Top Ad

Your Ad Spot

Páginas