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;
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: }
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: }
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/"+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: <?php66: $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 "<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: <?php30:
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
[youtube http://www.youtube.com/watch?v=jhP6vVc7Yts&hl=en&hd=1]
Deja un comentario