Breaking

Post Top Ad

Your Ad Spot

domingo, 10 de marzo de 2019

CodeIgniter CRUD Operaciones con Búsqueda y Paginación

Las operaciones CRUD son la funcionalidad más utilizada en la aplicación CodeIgniter. Codeigniter CRUD Operations ayuda a manipular los datos (Fetch, Insert, Update y Delete) en la base de datos. Puede ver, agregar, editar y eliminar datos de la base de datos con CRUD en CodeIgniter. CRUD es muy útil para integrar la funcionalidad de administración de datos en CodeIgniter.
Para hacer que la aplicación CRUD Codeigniter sea fácil de usar, puede agregar la función de búsqueda y paginación. La búsqueda y la paginación son las funciones imprescindibles para la sección de gestión de datos. Cuando implementa la aplicación CRUD CodeIgniter, la búsqueda y la paginación son la característica recomendada para la lista de datos. En este tutorial, le mostraremos cómo implementar operaciones CRUD en CodeIgniter con búsqueda y paginación usando MySQL.
En el código de ejemplo, implementaremos la siguiente funcionalidad para integrar CRUD con el filtro de búsqueda y la paginación en Codeigniter .
  • Obtener los datos de los miembros de la base de datos y que figuran en la página web.
  • Agregue enlaces de paginación a la lista de datos utilizando la biblioteca de paginación CodeIgniter.
  • Busca y filtra los registros.
  • Agregue datos de miembros a la base de datos.
  • Editar y actualizar los datos de los miembros en la base de datos.
  • Eliminar datos de miembros de la base de datos.
Antes de comenzar a crear la aplicación CRUD CodeIgniter con búsqueda y paginación, eche un vistazo a la estructura de los archivos.
codeigniter_crud / 
├── application / 
│ ├── controllers /
└── │ └── Miembros.php
│ ├── modelos /
└── │ └── Miembro.php
│ └── vistas / 
├── plantillas /
├── │ ├── header.php
│ │ └── footer.php
│ └── miembros /
├── ├── index.php
├── ├── view.php
└── └── add-edit.php
└── activos / 
    ├── css / 
    └── imágenes /

Crear tabla de base de datos

Para almacenar la información del miembro, se necesita crear una tabla en la base de datos. El siguiente SQL crea una memberstabla con algunas columnas básicas en la base de datos MySQL.
CREATE  TABLE  `miembros` (
  ` id`  int ( 11 ) NOT  NULL AUTO_INCREMENT,
  `first_name`  varchar ( 25 ) COLLATE utf8_unicode_ci NOT  NULL ,
  ` last_name`  varchar ( 25 ) COLLATE utf8_unicode_ci NOT  NULL ,
  `email`  varchar ( 50 ) COLLATE utf8_unicodeci NOT  NULL ,
  `gender` enum ( 'Male' ,'Femenino' ) COLLATE utf8_unicode_ci NOT  NULL ,
  `country`  varchar ( 20 ) COLLATE utf8_unicode_ci NOT  NULL ,
  ` created` datetime NOT  NULL ,
  `modified` datetime NOT  NULL ,
  ` status` tinyint ( 1 ) NOT  NULL  DEFAULT  '1'  COMMENT  ' 1 = Activo | 0 = Inactivo ' ,LLAVE 
 PRIMARIA ( `id` )
) MOTOR = InnoDB  DEFAULT  CHARSET = utf8 COLLATE = utf8_unicode_ci;

Config

autoload.php
En el config/autoload.phparchivo, defina la biblioteca y el ayudante que desea cargar automáticamente en cada solicitud.
$ autoload [ ' library ' ] = array ( 'database' 'session' ); 
$ autoload [ 'helper' ] = array ( 'url' );

Controlador (Members.php)

El controlador Members controla las operaciones de CRUD (ver, agregar, editar y eliminar).
  • __construir () : carga la biblioteca, el asistente y el modelo necesarios. Además, defina el límite de registros que se incluirán en cada página.
  • índice () : enumere los datos de miembros utilizando el getRows()método del modelo de miembro
    • Recuperar mensajes de estado de la SESIÓN.
    • Si la solicitud de búsqueda se envió, recupere el término de búsqueda y guárdelo en la SESIÓN.
    • Inicializa la biblioteca de paginación.
    • Obtener los registros de la base de datos en función de los términos de búsqueda.
    • Pase los datos de los miembros y cargue la vista de lista.
  • ver () : muestra datos de miembros específicos utilizando el getRows()método del modelo Miembro.
    • Obtenga los datos de los miembros de la base de datos en función de la ID específica.
    • Pase los datos del miembro y cargue la vista de detalles.
  • add () : agregue datos de miembros a la base de datos utilizando el insert()método del modelo de miembro.
    • Inicialmente, la vista de formulario se carga para recibir la entrada del usuario.
    • Si el formulario es enviado,
      • Los datos de formulario publicados se validan utilizando la biblioteca de validación de formularios CodeIgniter.
      • Insertar datos de miembros en la base de datos.
  • editar () : edite y actualice datos específicos de miembros utilizando el update()método del modelo de miembro.
    • Obtenga los datos de los miembros de la base de datos en función de la ID específica.
    • La vista de formulario se carga con los datos de miembro precargados.
    • Si el formulario es enviado,
      • Los datos de formulario publicados se validan utilizando la biblioteca de validación de formularios CodeIgniter.
      • Actualizar datos de miembros en la base de datos.
  • delete () : elimine los datos de miembros de la base de datos utilizando el delete()método del modelo de miembro.
<? php
 if (!  defined ( 'BASEPATH' )) exit ( 'No se permite el acceso directo al script' );
Miembros de la  
clase se  extiende  CI_Controller  {
    
    función  __construct () {
         parent :: __construct ();
        
        // Cargar el modelo de miembro
         $ this -> load -> model ( 'member' );
        
        // Cargar formulario helper y library
         $ this -> load -> helper ( 'form' );
        $ this -> load -> library ( 'form_validation' );
        
        // Cargar biblioteca de paginación
         $ esto -> cargar -> biblioteca ( 'paginación' );
        
        // Por página límite
         $ esto -> perPage  5 ;
    }
    índice de 
    función pública  () {
         $ data  = array ();
        
        // Obtener mensajes de la sesión
         si ( $ this -> session -> userdata ( 'success_msg' )) {
             $ data [ 'success_msg' ] =  $ this -> session -> userdata ( 'success_msg' );
            $ this -> session -> unset_userdata ( 'success_msg' );
        }
        if ( $ this -> session -> userdata ( 'error_msg' )) {
             $ data [ 'error_msg' ] =  $ this -> session -> userdata ( 'error_msg' );
            $ this -> session -> unset_userdata ( 'error_msg' );
        }
        
        // Si la solicitud de búsqueda se envió
         si ( $ this -> input -> post ( 'submitSearch' )) {
             $ inputKeywords  $ this -> input -> post ( 'searchKeyword' );
            $ searchKeyword  strip_tags ( $ inputKeywords );
            if (! empty ( $ searchKeyword )) {
                 $ this -> session -> set_userdata ( 'searchKeyword' , $ searchKeyword );
            }más{
                $ this -> session -> unset_userdata ( 'searchKeyword' );
            }
        } elseif ( $ this -> input -> post ( 'submitSearchReset' )) {
             $ this -> session -> unset_userdata ( 'searchKeyword' );
        }
        $ data [ 'searchKeyword' ] =  $ this -> session -> userdata ( 'searchKeyword' );
        
        // Obtener el conteo de filas
         $ conditions [ 'searchKeyword' ] =  $ data [ 'searchKeyword' ];
        $ conditions [ 'returnType' ] =  'count' ;
        $ rowsCount  $ this -> member -> getRows ( $ conditions );
        
        // Pagination config
         $ config [ 'base_url' ] =  base_url (). 'miembros / índice /' ;
        $ config [ 'uri_segment' ] =  3 ;
        $ config [ 'total_rows' ] =  $ rowsCount ;
        $ config [ 'per_page' ] =  $ this -> perPage ;
        
        // Inicializar la biblioteca de paginación
         $ this -> pagination -> initialize ( $ config );
        
        // Define offset
         $ page  $ this -> uri -> segment ( 3 );
        $ offset  =! $ página ? 0 : $ página ;
        
        // Obtener filas
         $ conditions [ 'returnType' ] =  '' ;
        $ conditions [ 'start' ] =  $ offset ;
        $ conditions [ 'limit' ] =  $ this -> perPage ;
        $ data [ 'members' ] =  $ this -> member -> getRows ( $ conditions );
        $ data [ 'title' ] =  'Lista de miembros' ;
        
        // Cargar la vista de la página de lista
         $ this -> load -> view ( 'templates / header' $ data );
        $ this -> load -> view ( 'members / index' $ data );
        $ this -> load -> view ( 'templates / footer' );
    }
vista de 
    función pública  ( $ id ) {
         $ data  = array ();
        
        // Compruebe si el ID del miembro no está vacío
         si (! Empty ( $ id )) {
             $ data [ 'member' ] =  $ this -> member -> getRows (array ( 'id'  =>  $ id ));
            $ data [ 'title' ] =  'Detalles del miembro' ;
            
            // Cargar la página de detalles ver
             $ esto -> cargar -> ver ( 'plantillas / encabezado' $ datos );
            $ this -> load -> view ( 'members / view' $ data );
            $ this -> load -> view ( 'templates / footer' );
        }más{
            redirigir ( 'miembros' );
        }
    }
    
    función pública  add () {
         $ data  = array ();
        $ memData  = array ();
        
        // Si se envía una solicitud de adición
         si ( $ this -> input -> post ( 'memSubmit' )) {
             // Reglas de validación de campos de formulario
             $ this -> form_validation -> set_rules ( 'first_name' 'first name' 'required ' );
            $ this -> form_validation -> set_rules ( 'last_name' 'last name' 'required' );
            $ esto ->( 'email' 'email' 'required | valid_email' );
            $ this -> form_validation -> set_rules ( 'gender' 'gender' 'required' );
            $ this -> form_validation -> set_rules ( 'country' 'country' 'required' );
            
            // Preparar datos de miembros
             $ memData  = array (
                 'first_name' =>  $ this -> input -> post ( 'first_name' ),
                 'last_name'  =>  $ this -> input -> post ( 'last_name' ),
                 'email '      =>  $ this -> input -> post ( ' email ' ),
                 ' gender '     =>  $ this -> input ->post ( 'género'),
                 'country'    =>  $ this -> input -> post ( 'country' )
            );
            
            // Valide los datos de formulario enviados
             si ( $ this -> form_validation -> run () ==  true ) {
                 // Insertar datos de miembros
                 $ insert  $ this -> member -> insert ( $ memData );

                if ( $ insert ) {
                     $ this -> session -> set_userdata ( 'success_msg' 'El miembro se ha agregado correctamente.' );
                    redirigir ( 'miembros' );
                }más{
                    $ data [ 'error_msg' ] =  'Ocurrieron algunos problemas, por favor intente nuevamente.' ;
                }
            }
        }
        
        $ data [ 'miembro' ] =  $ memData ;
        $ data [ 'title' ] =  'Add Member' ;
        
        // Cargar la vista de agregar página
         $ esto -> cargar -> ver ( 'templates / header' $ data );
        $ this -> load -> view ( 'members / add-edit' $ data );
        $ this -> load -> view ( 'templates / footer' );
    }
    
    función pública  edit ( $ id ) {
         $ data  = array ();
        
        // Obtener datos de miembro
         $ memData  $ this -> member -> getRows (array ( 'id'  =>  $ id ));
        
        // Si se envía una solicitud de actualización
         si ( $ this -> input -> post ( 'memSubmit' )) {
             // Reglas de validación de campos de formulario
             $ this -> form_validation -> set_rules ( 'first_name' 'first name' 'required ' );
            $ this -> form_validation -> set_rules ( 'last_name' 'last name' 'required' );
            $ esto ->( 'email' 'email' 'required | valid_email' );
            $ this -> form_validation -> set_rules ( 'gender' 'gender' 'required' );
            $ this -> form_validation -> set_rules ( 'country' 'country' 'required' );
            
            // Preparar datos de miembros
             $ memData  = array (
                 'first_name' =>  $ this -> input -> post ( 'first_name' ),
                 'last_name'  =>  $ this -> input -> post ( 'last_name' ),
                 'email '      =>  $ this -> input -> post ( ' email ' ),
                 ' gender '     =>  $ this -> input ->post ( 'género'),
                 'country'    =>  $ this -> input -> post ( 'country' )
            );
            
            // Valide los datos del formulario enviado
             si ( $ this -> form_validation -> run () ==  true ) {
                 // Actualice los datos del miembro
                 $ update  $ this -> member -> update ( $ memData $ id );

                if ( $ update ) {
                     $ this -> session -> set_userdata ( 'success_msg' 'El miembro se ha actualizado con éxito.' );
                    redirigir ( 'miembros' );
                }más{
                    $ data [ 'error_msg' ] =  'Ocurrieron algunos problemas, por favor intente nuevamente.' ;
                }
            }
        }

        $ data [ 'miembro' ] =  $ memData ;
        $ data [ 'title' ] =  'Actualizar miembro' ;
        
        // Cargar la vista de la página de edición
         $ this -> load -> view ( 'templates / header' $ data );
        $ this -> load -> view ( 'members / add-edit' $ data );
        $ this -> load -> view ( 'templates / footer' );
    }
    
    función pública  delete ( $ id ) {
         // Compruebe si el id del miembro no está vacío
         si ( $ id ) {
             // Delete miembro
             $ delete  $ this -> member -> delete ( $ id );
            
            if ( $ delete ) {
                 $ this -> session -> set_userdata ( 'success_msg' 'El miembro ha sido eliminado exitosamente.' );
            }más{
                $ this -> session -> set_userdata ( 'error_msg' 'Algunos problemas ocurrieron, inténtalo de nuevo.' );
            }
        }
        
        // Redireccionar a la página de lista
         redirigir ( 'miembros' );
    }
}

Modelo (Member.php)

El modelo Miembro maneja los trabajos relacionados con la base de datos (Recuperar, Agregar, Editar y Eliminar).
  • __construct () - Define el nombre de la tabla.
  • getRows () : recupera los datos de los miembros de la base de datos según los parámetros especificados que se pasaron en $paramsDevuelve los registros filtrados en caso de éxito.
  • insert () - Insertar datos de miembros en la base de datos. Devuelve el ID de fila en caso de éxito y FALSE en caso de error.
  • update () : actualiza los datos de los miembros en la base de datos según el ID de fila. Devuelve VERDADERO en caso de éxito y FALSO en error.
  • delete () : elimina el registro de la base de datos en función de la ID de fila. Devuelve VERDADERO en caso de éxito y FALSO en error.
<? php
 if (!  defined ( 'BASEPATH' )) exit ( 'No se permite el acceso directo al script' );
miembro de la  
clase  extiende  CI_Model {
    
    function  __construct () {
         // Establecer el nombre de la tabla
         $ this -> table  'members' ;
    }
    
    / *
     * Obtener datos de los miembros de la base de datos
     * @param array filtra datos basados ​​en los parámetros pasados
     * /
    función  getRows ( $ params  = array ()) {
         $ this -> db -> select ( '*' );
        $ this -> db -> from ( $ this -> table );
        
        if ( array_key_exists ( "conditions" $ params )) {
            foreach ( $ params [ 'conditions' ] as  $ key  =>  $ val ) {
                 $ this -> db -> where ( $ key $ val );
            }
        }
        
        if (! empty ( $ params [ 'searchKeyword' ])) {
             $ search  $ params [ 'searchKeyword' ];
            $ likeArr  = array ( 'first_name'  =>  $ search 'last_name'  =>  $ search 'email'  =>  $ search );
            $ this -> db -> or_like ( $ likeArr );
        }
        
        if ( array_key_exists ( "returnType" , $ params ) &&  $ params [ 'returnType' ] ==  'count' ) {
             $ result  $ this -> db -> count_all_results ();
        }más{
            if ( array_key_exists ( "id" $ params )) {
                 $ this -> db -> where ( 'id' $ params [ 'id' ]);
                $ consulta  $ esto -> db -> get ();
                $ result  $ query -> row_array ();
            }más{
                $ this -> db -> order_by ( 'first_name' 'asc' );
                if ( 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 -> limit ( $ params [ 'limit' ]);
                }
                
                $ consulta  $ esto -> db -> get ();
                $ resultado  = ( $ consulta -> num_rows ()>  0 )? $ consulta -> result_array (): FALSE ;
            }
        }
        
        // Devuelve exagerado los datos
         de retorno  $ resultado ;
    }
    
    / *
     * Insertar datos de miembros en la base de datos
     * @param $ datos de datos a insertar según los parámetros pasados
     * /
    función pública  insert ( $ data  = array ()) {
        if (! empty ( $ data )) {
             // Agregar fecha creada y modificada si no está incluida
             if (! array_key_exists ( "created" $ data )) {
                 $ data [ 'created' ] =  date ( "Ymd H: i: s " );
            }
            if (! array_key_exists ( "modificado" $ datos )) {
                 $ datos [ 'modificado' ] =  fecha ( "Ymd H: i: s" );
            }
            
            // Insertar datos de miembro
             $ insert  $ this -> db -> insert ( $ this -> table $ data );
            
            // ¿Devuelve el estado de
             retorno  $ insertar ? $ this -> db -> insert_id (): false ;
        }
        volver  falsa ;
    }
    
    / *
     * Actualizar datos de miembros en la base de datos
     * @param $ matriz de datos para actualizar según los parámetros pasados
     * @param $ id num filter data
     * /
    actualización de la función pública  ( $ datos $ id ) {
        if (! empty ( $ data ) &&! empty ( $ id )) {
             // Agregar fecha modificada si no se incluye
             if (! array_key_exists ( "modificado" $ data )) {
                 $ data [ 'modificado' ] =  fecha ( " Ymd H: i: s " );
            }
            
            // Actualizar datos de miembros
             $ update  $ this -> db -> update ( $ this -> table $ data , array ( 'id'  =>  $ id ));
            
            // ¿Devuelve el estado de
             retorno  $ actualizar ? verdadero : falso ;
        }
        volver  falsa ;
    }
    
    / *
     * Eliminar datos de miembros de la base de datos
     * @param num filtra los datos basados ​​en el parámetro pasado
     * /
    función pública  delete ( $ id ) {
         // Eliminar datos de miembros
         $ delete  $ this -> db -> delete ( $ this -> table , array ( 'id'  =>  $ id ));
        
        // ¿Devuelve el estado de
         retorno  $ borrar ? verdadero : falso ;
    }
}

Puntos de vista

plantillas /
El views/templates/directorio contiene los elementos (encabezado, pie de página, etc.) de las páginas web.
templates / header.php
En este archivo, se coloca la parte del encabezado de la página web. La biblioteca Bootstrap 4 se utiliza para diseñar la tabla y el formulario HTML. Por lo tanto, incluya el archivo CSS de la biblioteca Bootstrap e incluya el archivo personalizado de hojas de estilo (si corresponde).
<! DOCTYPE html> 
< html  lang = "en" > 
< head > 
    < meta  charset = "utf-8" > 
    < title > <? Php  echo  $ title ?> | CodeIgniter CRUD con búsqueda y paginación </ title > 
    < link  rel = "stylesheet"  href = "https://stackpath.bootstrapcdn.com/bootstrap/4.2.1/css/bootstrap.min.css" > 
    < link  rel = " hoja de estilo <? php  echo  base_url ( ' asset / css / style.css' ); ?> " >
</ head >
< body >
templates / footer.php
En este archivo, se coloca la parte del pie de página de la página web.
</ body > 
</ html >
members /
El views/members/directorio contiene los archivos de vista del controlador Members.
members / index.php
Inicialmente, todos los datos de los miembros se recuperan de la base de datos y se enumeran en la página web con el enlace Agregar, Editar y Eliminar.
  • La opción de búsqueda se agrega a la lista de datos CRUD. El usuario puede filtrar y ordenar la lista de miembros usando el campo de entrada de búsqueda.
  • Los enlaces de paginación se colocan en la parte inferior de la lista de datos de CRUD usando la función create_links () de la clase de Paginación.
  • El enlace Ver redirige al usuario a la members/viewpágina para realizar una operación de lectura.
  • El enlace Agregar redirige al usuario a la members/addpágina para realizar la operación Crear.
  • El enlace Editar redirige al usuario a la members/editpágina para realizar la operación de actualización.
  • El enlace Eliminar redirige al usuario a la members/deletepágina para realizar la operación Eliminar.
< div  class = "container" > 
    < h2 > <? php  echo  $ title ?> </ h2 >
    
    <! - Mostrar mensaje de estado -> 
    <? Php  if (! Empty ( $ success_msg )) {  ?> 
    < Div  class = "col-xs-12" > 
        < div  class = "alert alert-success" > <? php  echo  $ success_msg ?> </ div > 
    </ div > 
    <? php  } elseif (! empty ( $ error_msg )) {  ?> 
    < div  class = "col-xs-12" > 
        < div  class = "<? php  echo  $ error_msg ?> </ div > 
    </ div > 
    <? php  ?>
    
     
        ? php echo  $ searchKeyword ?> 
            
             
                 
                         " > 
                    < div  class = " input-group-append " > 
                        < input  type = " submit "  name = " submitSearch "  class = " btn btn-outline-secondary "  value = " Search " > 
                        < input  type = " submit "  name = "submitSearchReset"  class = "btn btn-outline-secondary"  value = "Reset" > 
                    </ div > 
                </ div > 
            </ form >
            
            <! - Añadir enlace -> 
            < div  clase = "float-derecha" > 
                < un  href = " <? Php?  Eco  site_url ( 'miembros / añadir /' );  ?> "  Clase = "btn btn-éxito" > < i  class = "plus" > </ i > Nuevo miembro </ a > 
            </ div > 
        </ div >
        
        <! - Tabla de la lista de datos ->  
        < table  class = "table-striped table- 
            bordered " > < thead  class = "thead-dark" > 
                < tr > 
                    < th > # </ th > 
                    < th > Nombre </ th > 
                    < th > Apellido </ th > 
                    < th > Correo electrónico </ th > 
                    < th > Sexo </ th > 
                    <th > País </ th > 
                    < th > Acción </ th > 
                </ tr > 
            </ thead > 
            < tbody > 
                <? php  if (! empty ( $ members )) {foreach ( $ members  as  $ row ) {  ?> 
                < tr > 
                    < td > <? php  echo  $ row [ 'id' ]; ?> </ td > 
                    < td > [ 'first_name' ]; ?> </ td > 
                    < td > <? php  echo  $ row [ 'last_name' ]; ?> </ td > 
                    < td > <? php  echo  $ row [ 'email' ]; ?> </ td > 
                    < td > <? php  echo  $ row [ 'gender' ]; ?> </ td > 
                    < td > 'país' ]; ?> </ Td > 
                    < td > 
                        < un  href = " <? Php  echo  site_url ( 'miembros / view /' . $ Fila [ 'id' ]);  ?> "  Clase = "btn btn-primaria" > vista < / a > 
                        < a  href = " <? php  echo  site_url ( 'members / edit /' . $ row [ 'id' ]);  = "Btn btn de alerta" > editar </ a > 
                        < un  href = " <? Php?  Eco  site_url ( 'miembros / borrar /' . Fila $ [ 'id' ]);  ?> "  Clase = "btn btn-peligro "  onclick = " return confirm ('¿Está seguro de eliminar?') " > delete </ a > 
                    </ td > 
                </ tr > 
                <? php  }} else {  ?> 
                <tr > < td colspan = "7" > No se han encontrado miembros ... </ td > </ tr > 
                <? php  ?> 
            </ tbody > 
        </ table >
    
        <! - Mostrar enlaces de paginación -> 
        < div  class = "pagination pull-right" > 
            <? Php  echo  $ this -> pagination -> create_links (); ?> 
        </ div > 
    </ div > 
</ div >
members / view.php
Esta vista se carga mediante la view()función del controlador de miembros. Los detalles específicos del miembro se muestran en la vista de la tarjeta Bootstrap.
< div  class = "container" > 
    < h2 > <? php  echo  $ title ?> </ h2 > 
    < div  class = "col-md-6" > 
        < div  class = "card"  style = "width: 400px" > 
            < div  class = "card-body" > 
                < h4  class = "card- título " > ? php echo  $ miembro [ 'first_name' ]. ''. $ miembro [ 'last_name' ]; ?> </ h4 > 
                < p  class = "card-text" > < b > Correo electrónico: </ b >  <? php  echo  $ member [ 'email' ]; ?> </ p > 
                < p  class = "card-text" > < b > Gender: </ b >  <? php  echo  $ member [ 'gender' ]; ?> </p > 
                < p  class = "card-text" > < b > País: </ b >  <? php  echo  $ miembro [ 'país' ]; ?> </ p > 
                < p  class = "card-text" > < b > Creado: </ b >  <? php  echo  $ member [ 'created' ]; ?> </ p > 
                < <? php  echo  site_url ( 'miembros' ); ?> "  class = " btn btn-primary " >Volver a la lista</ a >
            </ div >
        </ div >
    </ div >
</ div >
members / add-edit.php
Esta vista se carga mediante las funciones add()edit()del controlador de miembros.
  • En la solicitud de adición, se muestra un formulario HTML para recibir la entrada del usuario (nombre, edición, género, país, etc.).
  • En la solicitud de edición, se muestra un formulario HTML con datos de miembro precargados en los campos de entrada.
< div  class = "container" > 
    < h2 > <? php  echo  $ title ?> </ h2 >
    
    <! - Mostrar mensaje de estado -> 
    <? Php  if (! Empty ( $ success_msg )) {  ?> 
    < Div  class = "col-xs-12" > 
        < div  class = "alert alert-success" > <? php  echo  $ success_msg ?> </ div > 
    </ div > 
    <? php  } elseif (! empty ( $ error_msg )) {  ?> 
    < div  class = "col-xs-12" > 
        < div  class = "<? php  echo  $ error_msg ?> </ div > 
    </ div > 
    <? php  ?>
    
    < div  class = "row" > 
        < div  class = "col-md-6" > 
            < form  method = "post" > 
                < div  class = "form-row" > 
                    < div  class = "col-md-6 mb- 3 " > 
                        < etiqueta > Nombre </ etiqueta > 
                        < tipo de entrada  = " texto " clase = " control de formulario " nombre = "first_name " placeholder =   "Introduzca el nombre"  valor = " <? Php  echo! Empty ( $ miembro [ 'first_name' ])? $ Member [ 'first_name' ]: '' ?> " > 
                        <? Php  echo  form_error ( 'first_name' , ' <div class = "invalid-feedback"> ' , ' </div> ' ); ?> 
                    </ div > 
                    < div  class = "col-md-6 mb-3" > 
                        < label >
                        input  type = "text"  class = "form-control"  name = "last_name"  placeholder = "Enter last name"  value = " <? php  echo! empty ( $ miembro [ 'last_name' ])? $ member [ 'last_name' ]: '' ?> " > 
                        <? php  echo  form_error ( 'last_name' , '<div class =" invalid-feedback ">' , '</div>' ); ?> 
                    </ div > 
                </ div> 
                < div  class = "form-group" > 
                    < label > Correo electrónico </ label > 
                    < input  type = "text"  class = "form-control"  name = "email"  placeholder = "Enter email"  value = " <? php  echo! empty ( $ miembro [ 'email' ])? $ miembro [ 'email' ]: '' ?> " > 
                    < ? php echo  form_error ('email' , '<div class = "invalid-feedback">' , '</div>' ); ?> 
                </ div > 
                < div  class = "form-group" > 
                    < label > Gender </ label > 
                    < div  class = "control personalizado custom-custom custom-control-inline" > 
                        < input  type = "radio"  id = "género1"  nombre = "género"  clase = "  <? php  echo empty ( $ miembro [ 'género' ]) || (! empty ( $ miembro [ 'género' ]) && ( $ miembro [ 'género' ] ==  'Hombre' ))? 'checked = "checked"' : '' ?> >
                         < Etiqueta  de clase = "costumbre-control-etiqueta"  para = "género1" > Male </ etiqueta > 
                    </ div > 
                    < div  clase = "
                        < input  type = "radio"  id = "gender2"  name = "gender"  class = "custom-control-input"  value = "Female"  <? php  echo (! empty ( $ miembro [ 'gender' ]) && ( $ miembro [ 'género' ] ==  'Mujer' ))? 'checked = "checked"' : '' ?> >
                         < Etiqueta de  clase = "medida de control de etiqueta" </ label > 
                    </ div > 
                    <? php  echo  form_error ( 'gender' , '<div class = "invalid-feedback">' , '</div>' ); ?> 
                </ div > 
                < div  class = "form-group" > 
                    < label > Country </ label > 
                    < input  type = "text"  class = "form-control"  name = "country"  = " <? php  echo! empty ( $ miembro [ 'país' ])? $ miembro [ 'país' ]: '' ?> " > 
                    <? php  echo  form_error ( 'país' , '<div class = "inválido -feedback "> ' , ' </div> ' ); ?> 
                </ div >
                
                < Un  href = " <? Php?  Eco  site_url ( 'miembros' );  ?> "  Clase = "btn btn-secundaria" > Volver </ a > 
                < entrada de  tipo = "submit"  nombre = "memSubmit"  clase = "btn btn -success "  value = " Submit " > 
            </ form > 
        </ div > 
    </ div > 
</ div >

Eliminar el index.php de la URL

De forma predeterminada, el index.phparchivo se incluirá en las URL de las solicitudes de operación de CRUD. Siga los pasos a continuación para eliminar index.php de las URL en CodeIgniter .
  • En el config/config.phparchivo, elimine index.php de la variable index_page y déjelo en blanco.
    $ config [ 'index_page' ] =  '' ;
  • Cree un .htaccessarchivo HTACCESS ( ) en el directorio raíz de CodeIgniter y escriba el siguiente código de regla de reescritura de URL.
    RewriteEngine On 
    RewriteCond % {REQUEST_FILENAME}!
     -F RewriteCond % {REQUEST_FILENAME}!
     -D RewriteRule ^ (. *) $ Index.php / $ 1 [L]
Tenga en cuenta que: la extensión mod_rewrite debe estar habilitada en su servidor. Debe especificar la ruta según la ubicación de su aplicación ( RewriteRule ^(.*)$ /folder_name/index.php/$1 [L])

Conclusión

Nuestra aplicación CRUD de muestra con CodeIgniter y MySQL lo ayuda a implementar la funcionalidad de administración de datos (captura, inserción, actualización y eliminación) en el marco de CodeIgniter. Esta secuencia de comandos de ejemplo agrega funciones de paginación y búsqueda para hacer que la lista de datos CRUD CodeIgniter sea fácil de usar. Utilizamos la biblioteca Bootstrap para diseñar el formulario y la tabla, por lo tanto, se requiere el mínimo de CSS para construir la lista y la vista de formulario. Además, puede mejorar fácilmente el CodeIgniter CRUD con la función de script de búsqueda y paginación según sus necesidades.

No hay comentarios.:

Publicar un comentario

Dejanos tu comentario para seguir mejorando!

Post Top Ad

Your Ad Spot

Páginas