Ver Mensaje Individual
  #10 (permalink)  
Antiguo 28/04/2014, 14:13
Kohm
 
Fecha de Ingreso: enero-2013
Mensajes: 8
Antigüedad: 11 años, 2 meses
Puntos: 0
Respuesta: Perfil de usuario en codeigniter

Si se me ocurren tantas maneras posibles como combinaciones hay.

Ten en cuenta que ya que estas usando un lenguaje nacido para esto, ¡no está mal aprovechar las funciones para las cuales fue diseñado!. De hecho vas a necesitar recorrer arrays y hacer ciclos en las vistas cuando necesites generar tablas con mucho volumen de datos que provengan de un controlador/modelo.

No tiene nada de malo recorrer un array en las vistas, o usar tantos if como te sean necesarios, esos pequeños detalles no van a restar funcionalidad a sistema, en lo absoluto.

Las sentencias if las vas a tener que usar, porque no vas a tener otra forma de comprobar los campos que deseas mostrar.

Si te molestan tantos if's puedes usar un switch (http://www.php.net/manual/es/control-structures.switch.php) que fue diseñado justamente para estos casos.

En tu controlador las variables que mandes a la vista, van a depender del usuario que las requiera, con esto quiero decir, que de esos if's algunos van a "entrar" y otros no, va a ser casi aleatorio que algunos se usen y otros no, entonces podría quedar así también.

Código PHP:
public function perfil_usuario(){
    
$usuario_id $this->session->usuario('id');
    
$data $this->usuario_model->get_perfil_usuario($usuario_id);
    foreach (
$data as $row) {
        
$data2[$row->meta_key] = $row->meta_value;
    }
    return 
$data2;

Esto debería generar lo mismo que el controlador que has supuesto, pero de todas formas en la vista debería comprobar qué variables fueron enviadas desde el controlador para mostrarlas o no.

Aquí te dejo una parte de una vista donde genero una tabla que muestra días y horarios de pacientes y terapeutas, generada con php, para que veas que eventualmente vas a tener que poner código php en las vistas :D
https://gist.github.com/kohm/11383003

Cualquier duda que tengas no dudes en postearla.

Última edición por Kohm; 28/04/2014 a las 14:32