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
CREATE VIEW PRUEBA AS ( select `user_control`.`ld_nacional` AS `ld_nacional`, `user_control`.`cel_local` AS `cel_local`, `user_control`.`internacional` AS `internacional`, `user_control`.`cel_ld` AS `cel_ld`, `user_control`.`local` AS `local`, `user_control`.`nom_usu` AS `nom_usu`, `user_control`.`id_usu` AS `id_usu`, `user_control`.`login` AS `login`, `user_control`.`psw` AS `psw`, if((`user_control`.`acceso` = 0),'Normal','Administrador') AS `acceso`, if((`user_control`.`status` = 0),'Desactivado','Activado') AS `status` from `user_control` )
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.
CREATE TABLE `user_control` ( `id_usu` tinyint(3) unsigned NOT NULL AUTO_INCREMENT, `status` int(1) unsigned NOT NULL DEFAULT '1', `nom_usu` varchar(25) NOT NULL, `login` varchar(4) NOT NULL DEFAULT '0000', `psw` varchar(40) CHARACTER SET latin1 COLLATE latin1_spanish_ci NOT NULL, `local` tinyint(4) NOT NULL DEFAULT '0', `ld_nacional` tinyint(4) NOT NULL DEFAULT '0', `cel_local` tinyint(4) NOT NULL DEFAULT '0', `cel_ld` tinyint(4) NOT NULL DEFAULT '0', `internacional` tinyint(4) NOT NULL DEFAULT '0', `acceso` tinyint(4) NOT NULL DEFAULT '0', PRIMARY KEY (`id_usu`), UNIQUE KEY `login` (`login`) ) 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
public function getUsers(){ $data=$this->db->get('vista'); if($data->num_rows() >0){ return $data; } }
Ahora se manda llamar la función del modelo con la función getUsers desde el controlador, el archivo se llama Welcome.php
DESCARGAR WELCOME.PHP
1: public function getUsers(){
3: if(isset($_SESSION['usuario'])){
4: //GUARDA EN LA VARIABLE $USERS TODOS LOS USUARIOS
5: $data['users'] = $this->usersModel->getUsers();
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 "<script> alert('Acceso restringido')</script>";
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
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/"+id9: }
10: else{11: alert("Cancelado")12: }
13: }
14:
15: function actualizar(id) {16:
17: location.href="updateUserId/"+id18:
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="<?=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"</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>
<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <title>Usuarios ITLM</title> <?php $estilo = base_url()."css/estilo.css"; $estiloMenu = base_url()."css/menu.css"; $logo = base_url()."/imagenes/logo.jpg"; $menu= base_url()."/js/menu.js"; $jjq= base_url()."/js/jquery.js"; echo "<link rel='stylesheet' type='text/css' href='$estilo' media='all'>"; echo "<link rel='stylesheet' type='text/css' href='$estiloMenu' media='all'>"; echo "<script src='$jjq'></script> "; echo "<script src='$menu'></script>"; ?> </head> <body> <div align="center"> <?php $this->load->view('encabezado'); $this->load->view($principal); $this->load->view('pie.php'); ?> </div>
Les dejo un video que vi por si se van iniciando al Framework de CodeIgniter
Comentarios
Publicar un comentario