Vistas MySQL y Funciones en CodeIgniter

Vistas

¿Para que sirven?

Una vista en la base de datos MySQL Sirve para representar o interpretar los datos que se encuentran en las filas de las tablas.

Por ejemplo:

Cuando una columna guarda puros datos booleanos de ceros y unos al momento de realizar la consulta el usuario tiene que saber que significa estos valores, como cuando se guarda el tipo de usuario de un sistema que son “Administrador y Normal”, al administrador en la tabla se guarda como 1 y al usuario con el 0.

Código para crear la vista

 
   1: CREATE VIEW PRUEBA AS (

   2: select 

   3:     `user_control`.`ld_nacional` AS `ld_nacional`,

   4:     `user_control`.`cel_local` AS `cel_local`,

   5:     `user_control`.`internacional` AS `internacional`,

   6:     `user_control`.`cel_ld` AS `cel_ld`,

   7:     `user_control`.`local` AS `local`,

   8:     `user_control`.`nom_usu` AS `nom_usu`,

   9:     `user_control`.`id_usu` AS `id_usu`,

  10:     `user_control`.`login` AS `login`,

  11:     `user_control`.`psw` AS `psw`,

  12:     if((`user_control`.`acceso` = 0),'Normal','Administrador') AS `acceso`,

  13:     if((`user_control`.`status` = 0),'Desactivado','Activado') AS `status` 

  14:   from 

  15:     `user_control` 

  16:     )

Como pueden ver en los campos “acceso y status” hay un IF donde dice que si es igual a 0 mandara el valor de Normal y si es 1 mandara Administrador, en caso de status, si es igual a 0 pintara como Desactivado y si no es igual a 0 pintara como Activado.

Código tabla original

   1: CREATE TABLE `user_control` (

   2:   `id_usu` tinyint(3) unsigned NOT NULL AUTO_INCREMENT,

   3:   `status` int(1) unsigned NOT NULL DEFAULT '1',

   4:   `nom_usu` varchar(25) NOT NULL,

   5:   `login` varchar(4) NOT NULL DEFAULT '0000',

   6:   `psw` varchar(40) CHARACTER SET latin1 COLLATE latin1_spanish_ci NOT NULL,

   7:   `local` tinyint(4) NOT NULL DEFAULT '0',

   8:   `ld_nacional` tinyint(4) NOT NULL DEFAULT '0',

   9:   `cel_local` tinyint(4) NOT NULL DEFAULT '0',

  10:   `cel_ld` tinyint(4) NOT NULL DEFAULT '0',

  11:   `internacional` tinyint(4) NOT NULL DEFAULT '0',

  12:   `acceso` tinyint(4) NOT NULL DEFAULT '0',

  13:   PRIMARY KEY (`id_usu`),

  14:   UNIQUE KEY `login` (`login`)

  15: ) ENGINE=InnoDB AUTO_INCREMENT=42 DEFAULT CHARSET=utf8;

 

 

Ahora la función en el modelo para cargar los datos, el archivo se llama usersModel.php

   1: public function getUsers(){

   2:         $data=$this->db->get('vista');

   3:         if($data->num_rows() >0){

   4:             return $data;

   5:         }else{

   6:             return false;

   7:             }

   8:     }

 

Ahora se manda llamar la función del modelo con la función getUsers desde el controlador, el archivo se llama Welcome.php

   1: public function getUsers(){

   2:         

   3:         if(isset($_SESSION['usuario'])){

   4:         //GUARDA EN LA VARIABLE $USERS TODOS LOS USUARIOS

   5:         $data['users'] = $this->usersModel->getUsers();

   6:     

   7:         $data['principal']="listusers.php";

   8:         

   9:                 //SE ASIGNA QUE PAGINA SE CARGAR PARA VISUALIZAR LOS DATOS

  10:                 $this->load->vars($data);

  11:                 $this->load->view('plantilla');

  12:         }else{

  13:         echo " alert('Acceso restringido')";

  14:         $data['principal']="acceso.php";

  15:         

  16:                 $this->load->vars($data);

  17:                 $this->load->view('plantilla');

  18:         }

  19:     }

 

Les dejo las vistas de la plantilla y la lista de usuarios por si la necesitan

 

 

listuser.php

   1:  

   2: <?php

   3:  

   4:  

   5: $eliminar = base_url()."imagenes/eliminar.fw.png";

   6: $actualizar = base_url()."imagenes/modificar.png";

   7:     

   8: function estadoImg($edo){

   9:     $palomita = base_url()."imagenes/v.fw.png";

  10:     $x = base_url()."imagenes/eliminar.png";

  11:     if($edo==1){

  12:         return "<img src=".$palomita.">";

  13:     }

  14:     else{

  15:         return "<img src=".$x.">";

  16:     }

  17: }

  18:  

  19:  

  20:  

  21: ?>

  22:         <script type="text/javascript">
   1:  

   2:         <!--

   3:         

   4:         function confirmacion(id) {

   5:         var answer = confirm("Esta seguro que desea eliminar")

   6:         if (answer){

   7:         alert("Ha confirmado eliminar")

   8:         location.href="deleteUserId/"+id

   9:         }

  10:         else{

  11:         alert("Cancelado")

  12:         }

  13:     }

  14:     

  15:     function actualizar(id) {

  16:         

  17:         location.href="updateUserId/"+id

  18:         

  19:     }

  20: //-->

</script>

  23:  

  24: <body>

  25:     

  26: <div id="container">

  27:  

  28:     <div id="body" align="center">

  29:         <h3>Mis Usuarios son</h3>

  30:         <p>hola</P>

  31:         <?php echo $_SESSION['usuario'];?>

  32:         

  33:         <div id="tabla">

  34:          

  35:             <table border="0" align="left">

  36:             

  37:             <form id="b" name="b" action="&lt;?=base_url()?>index.php/welcome/buscarUsuarios" method="POST">

  38:             <td><input type= "text" id="buscar" name="buscar" ></td>

  39:             

  40:             <td><input type="submit" id="arre" name="arre" value="buscar"&lt;/td></tr>

  41:             </form>

  42:             

  43:             

  44:             

  45:             

  46:             </table>

  47:             

  48:             <table border="0" align="center">

  49:             <tr bgcolor="#7362ec" align="center" onfocus="<?php echo "HOLA";?>">

  50:             

  51:             <td><b>Nombre</b></td>

  52:             <td><b>Usuario </b></td> 

  53:             <td><b>Estado de usuario </b></td> 

  54:             <td><b>Nivel de acceso</b></td>

  55:             <td><b>Llamadas locales permitidas</b></td>

  56:             <td><b>Llamadas celular local permitidas</b></td>

  57:             <td><b>Llamadas a celular  permitidas</b></td>

  58:             <td><b>Llamadas nacionales permitidas</b></td>

  59:             <td><b>Llamadas internacionales permitidas</b></td>

  60:             <td><b>Eliminar usuario</b></td>

  61:             <td><b>Modifiacar usuario</b></td>

  62:             </tr>

  63:             <tr>

  64:         

  65:             <?php

  66:             $colorfila=0;

  67:             

  68:             

  69:             if($users!=false){

  70:                foreach($users->result() as $row){

  71:                    if ($colorfila==0){ 

  72:                    $color= "#b5b5b5"; 

  73:                    $colorfila=1; 

  74:                     }else{ 

  75:                    $color="#f7f7f7"; 

  76:                    $colorfila=0; 

  77:                 }    

  78:                 echo "<tr bgcolor='".$color."' align='center'>";

  79:                 echo "<td>";

  80:                 echo "<a href=".base_url()."index.php/welcome/getUserId/".$row->id_usu.">";

  81:                 echo $row->nom_usu."</a> </td> <td>". $row->login."</td>

  82:                 <td> ".$row->status."</td>

  83:                 <td > ".$row->acceso."</td> 

  84:                 

  85:                 <td>". estadoImg($row->local)."</td>

  86:                 <td>". estadoImg($row->cel_local)."</td>

  87:                 <td>". estadoImg($row->cel_ld)."</td>

  88:                 <td>". estadoImg($row->ld_nacional)."</td>

  89:                 <td>". estadoImg($row->internacional)."</td>

  90:                 <td><a href=javascript:confirmacion($row->id_usu)><img src=$eliminar></a></td>

  91:                 <td><a href=javascript:actualizar($row->id_usu)><img src=$actualizar></a></td>";

  92:                 echo "</tr>";

  93:             }

  94:             

  95:         }

  96:         ?>

  97:         

  98:         </table>

  99:         </div>

 100:  

 101:     </div>

 102:  

 103:  

 104: </div>

 105:  

 106: </body>

plantilla.php

   1: <!DOCTYPE html>

   2: <html lang="en">

   3: <head>

   4:     

   5:     

   6:     <meta charset="utf-8">

   7:     <title>Usuarios ITLM</title>

   8:     <?php $estilo = base_url()."css/estilo.css";

   9:           $estiloMenu = base_url()."css/menu.css";

  10:     

  11:     

  12:           $logo = base_url()."/imagenes/logo.jpg";

  13:           $menu= base_url()."/js/menu.js";

  14:           $jjq= base_url()."/js/jquery.js";

  15:           

  16:       

  17:           echo "&lt;link rel='stylesheet' type='text/css' href='$estilo' media='all'>";

  18:           echo "<link rel='stylesheet' type='text/css' href='$estiloMenu' media='all'>";

  19:           echo "<script src='$jjq'></script>
   1: ";

   2:           echo "<script src='$menu'>

</script>";

  20:          

  21:           

  22:          

  23:     ?>

  24:            

  25: </head>

  26:  

  27: <body>

  28: <div align="center">

  29: <?php

  30:  

  31: $this->load->view('encabezado');

  32: $this->load->view($principal);

  33: $this->load->view('pie.php');

  34:  

  35: ?>

  36: </div>

 

Les dejo un video que vi por si se van iniciando al Framework  de CodeIgniter

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión /  Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión /  Cambiar )

Conectando a %s