Foros del Web » Programando para Internet » PHP » CodeIgniter »

Perfil de usuario en codeigniter

Estas en el tema de Perfil de usuario en codeigniter en el foro de CodeIgniter en Foros del Web. Buenas a todos, antes de nada agradeceros vuestra posible ayuda. Tengo que hacer una aplicación que tiene un sistema de usuarios, ya tengo hecho el ...
  #1 (permalink)  
Antiguo 23/04/2014, 17:03
 
Fecha de Ingreso: abril-2014
Ubicación: Madrid
Mensajes: 14
Antigüedad: 10 años, 7 meses
Puntos: 0
Pregunta Perfil de usuario en codeigniter

Buenas a todos, antes de nada agradeceros vuestra posible ayuda.

Tengo que hacer una aplicación que tiene un sistema de usuarios, ya tengo hecho el login pero me piden almacenar una serie de datos asociados al perfil, hasta aquí todo bien, el problema es el siguiente:

- tengo que hacerlo en otra tabla por ejemplo "user_meta_data" y aquí almacenar todos los datos de su perfil, la tabla tiene que tener 4 columnas

id
id_user
meta_key
meta_value

y ahí almacenar todos los datos, por ejemplo, ciudad, telefono, empresa, y algunos datos pueden ser checkbox y puede existir la opcion que se almacenen dos datos diferentes, (por ejemplo: vehiculo , puede tener coche y puede tener moto, o solo coche...) de esta manera la tabla tiene que quedar mas o menos asi:

+---------+-------------+-------------+--------------+
| id | id_user | meta_key | meta_value |
+---------+-------------+-------------+--------------+
| 1 | 4 | vehiculo | coche |
| 2 | 4 | vehiculo | moto |
| 3 | 4 | telefono | 666666666|
| 4 | 5 | vehiculo | moto |
| 5 | 8 | vehiculo | coche |
| 6 | 8 | telefono | 111111111|
| 6 | 7 | ciudad | Miami |
+---------+-------------+-------------+--------------+

ahora, lo que no se como hacer es la consulta para obtener todos los datos y mostrarlos en la vista del perfil del usuario logueado, y la consulta para actualizar esos datos con un solo click (un solo botón de guardar)

Muchas gracias de antemano a todos

Un saludo!!
  #2 (permalink)  
Antiguo 24/04/2014, 11:03
 
Fecha de Ingreso: enero-2013
Mensajes: 8
Antigüedad: 11 años, 10 meses
Puntos: 0
Respuesta: Perfil de usuario en codeigniter

Buenas, a ver si entiendo un poco.

Lo que necesitas hacer es guardar los datos de los perfiles de los usuarios en una tabla separada que tiene 4 campos, donde el tercer campo puede se tiene que corresponder con el cuarto campo, dependiendo de la información que se haya guardado y los id_user se repiten en uno o más registros?

El ejemplo de la tabla que pusiste anteriormente quizás no es el más adecuando debido a que no se encuentra normalizada.

Por ahí conviene una tabla con más campos. De todos modos contestame lo primero y seguimos.

Saludos
  #3 (permalink)  
Antiguo 24/04/2014, 12:48
 
Fecha de Ingreso: abril-2014
Ubicación: Madrid
Mensajes: 14
Antigüedad: 10 años, 7 meses
Puntos: 0
Respuesta: Perfil de usuario en codeigniter

Buenas Kohm, gracias por tu mensaje!

Efectivamente, necesito guardar en una tabla los datos de login de usuario, tabla "usuarios" con los campos (id_user, email, password, fecha_alta, ultimo_login) y en otra tabla los datos del perfil del usuario (usuarios_meta) con los campos (id, id_user, meta_key, meta_value)

Los id_user se repiten en la tabla "usuarios_meta" para cada campo que inserten, es como lo tiene wordpress hecho, en la tabla wp_usermeta y la tabla wp_users

La finalidad es no tener una tabla con campos para cada dato que se le pida al usuario, para así poder ampliar la información de un usuario en un futuro sin tener que añadir más campos a la tabla...

En lugar de tener una tabla "usuarios_meta" con los campos (nombre, apellido, telefono1, telefono2, ciudad...) es tener una tabla con los 4 campos que puse en el ejemplo y de alguna manera obtener esa información de cada usuario mediante el id_user, si fuera con todos los campos si se hacerlo y seria más o menos así la consulta en el modelo (usando activerecord):

public function perfil_usuario($id_user) {
$this->db->select(*);
$this->db->where('id_user', $id_user);
$query = $this->db->get('usuarios_meta');
$row = $query->row_array();
$data = array(
'nombre' => $row['nombre'],
'apellido' => $row['apellido'],
.........
);
return $data //para enviarlo al controlador
}

Pero si no puedo hacer una tabla con todos los campos que se le pide al usuario ya no se hacerlo....

Espero haberme explicado bien, muchas gracias a todos de antemano!

Saludoss!!!
  #4 (permalink)  
Antiguo 24/04/2014, 20:49
 
Fecha de Ingreso: enero-2013
Mensajes: 8
Antigüedad: 11 años, 10 meses
Puntos: 0
Respuesta: Perfil de usuario en codeigniter

bueno ahora entiendo un poco más el escenario para la consulta y mostrar los datos del usuario registrado yo haría lo siguiente

CI_Controller

Código PHP:
Ver original
  1. public function panel_usuario($id_user)
  2. {
  3.     $data['datos_personales'] = $this->"nombre_del_modelo"->perfil_usuario($id_user);
  4.     $this->load->view('vista_del_usuario',$data);
  5. }

CI_Model

Código PHP:
Ver original
  1. public function perfil_usuario($id_user)
  2. {
  3.     //$this->db->select(*);<--- esto no se usa para querer seleccionar todas las columnas, simplemente no va
  4.     $this->db->where('id_user',$id_user);
  5.     $query = $this->db->get('usuarios_meta');
  6.     if ($query->num_rows() > 0)
  7.     {
  8.         return $query->result();
  9.     }
  10. }

entonces una vez que se ejecuta eso en el modelo, $data (del controlador) va a estar cargada con un array con tantas rows como campos encontró en la tabla 'usuarios_meta' correspondientes a $id_user

entonces supuestamente vas a tener una vista "vista_del_usuario.php"
que va a recibir la variable '$datos_personales' y para mostrarlo simplemente se recorre la matriz con un foreach que recorre cada row en $data, por cada ciclo

Código PHP:
Ver original
  1. foreach ($datos_personales as $row)
  2. {
  3.     echo "<p>".$row->meta_key." ".$row->meta_value."</p>";
  4. }

Dime si lo entendiste y seguimos

Última edición por Kohm; 24/04/2014 a las 21:00
  #5 (permalink)  
Antiguo 25/04/2014, 09:09
 
Fecha de Ingreso: abril-2014
Ubicación: Madrid
Mensajes: 14
Antigüedad: 10 años, 7 meses
Puntos: 0
Respuesta: Perfil de usuario en codeigniter

Buenas Kohm! gracias!! muy bueno el codigo y tu explicación, la duda que me planteo ahora es la siguiente

Si en el perfil del usuario tengo un campo con multiples checkbox, el cual puede tener 1, 2 o hasta 6 valores diferentes, es mejor guardarlo de la manera que estamos planteando

tabla - usuarios_meta
columnas - id, user_id, meta_key, meta_value


O mejor guardarlo en una columna de una tabla que sea asi por ejemplo:

tabla - usuarios_meta
columnas - id, user_id, nombre, apellido, vehiculos

Y guardar en vehículos por ejemplo (moto, coche, quad) o solo (coche) o (moto, quad)

Gracias por todo!!! muy amables por vuestras ayudas

Un saludo!!!
  #6 (permalink)  
Antiguo 25/04/2014, 11:49
 
Fecha de Ingreso: enero-2013
Mensajes: 8
Antigüedad: 11 años, 10 meses
Puntos: 0
Respuesta: Perfil de usuario en codeigniter

Y no Tony, la idea en el diseño de bases de datos es evitar la redundancia en el almacenamiento, de ahí surge el estudio de las normalizaciones de tablas.

mas vale aprovechar que en la tabla usuarios_meta ya tienes el campo id_user, para relacionar esta con la tabla de usuarios y allí guardar una única vez el nombre y apellido por cada usuario sería así

TABLA usuarios

Código MySQL:
Ver original
  1. +---------+----------------+----------------+----------.----+-------------+
  2. |id_user | user_name      |   password   |   nombre    |   apellido     |
  3. +---------+----------------+----------------+---------------+-------------+
  4. |     1   |      foo       |     pass123  |   mariano    |  martinez  |
  5. |     2   |      bari      |     pass123  |   federico    |   lopez      |
  6. |     3   |      coky99    |     pass123  |   john          |   smith      |
  7. |     4   |      carlos    |     pass123  |   nikola       |    tesla      |
  8. +---------+----------------+----------------+---------------+-------------+

TABLA usuarios_meta

Código MySQL:
Ver original
  1. +---------+----------------+----------------+----------.----+
  2. |     id     |     id_user    |   meta_key   |meta_value |
  3. +---------+----------------+----------------+---------------+
  4. |     1      |      1         |    ciudad      |  cartagena  |
  5. |     2      |      1         |    email        | [email protected]|
  6. |     3      |      2         |    vehiculo    |  moto          |
  7. |     4      |      3         |    vehiculo    |  coche         |
  8. +---------+----------------+----------------+---------------+-------------+

Dime si se entiende y seguimos

Siempre la organización de las tablas dependerá de tu escenario y, cuales y cómo necesitas recuperar los datos.
  #7 (permalink)  
Antiguo 26/04/2014, 08:16
 
Fecha de Ingreso: abril-2014
Ubicación: Madrid
Mensajes: 14
Antigüedad: 10 años, 7 meses
Puntos: 0
Respuesta: Perfil de usuario en codeigniter

Buenas Kohm!

Entiendo, llevas razón, pero el problema viene porque un usuario puede tener varios vehículos y eso es lo que no se hacer, pongo ejemplo (basandome en los tuyos):

Tabla usuarios
Código:
+---------+----------------+----------------+--------------+-------------+ 
|id_user | user_name      |   password   |   nombre    |   apellido     |
+---------+----------------+----------------+---------------+-------------+
|     1   |      foo       |     pass123  |   mariano    |  martinez  |
|     2   |      bari      |     pass123  |   federico    |   lopez      |
|     3   |      coky99    |     pass123  |   john          |   smith      |
|     4   |      carlos    |     pass123  |   nikola       |    tesla      |
+---------+----------------+----------------+---------------+-------------+
Tabla usuarios_meta
Código:
+---------+----------------+----------------+--------------+
|     id     |     id_user    |   meta_key   |meta_value |
+---------+----------------+----------------+---------------+
|     1      |      1         |    ciudad      |  cartagena  |
|     2      |      1         |    email        | [email protected]|
|     3      |      1         |    vehiculo    |  moto          |
|     4      |      1         |    vehiculo    |  coche         |
+---------+----------------+----------------+---------------+-------------+
En este ejemplo podemos ver como el usuario con id=1, tiene ciudad email y 2 vehículos (el caso es que los vehículos tienen que ser campos checkbox) y luego recuperarlos no se muy bien, o mejor guardarlos de esta otra forma (de esta si se hacerlo pero no se si es del todo correcto?

Código:
+---------+----------------+----------------+--------------+
|     id     |     id_user    |   meta_key   |meta_value |
+---------+----------------+----------------+---------------+
|     1      |      1         |    ciudad      |  cartagena  |
|     2      |      1         |    email        | [email protected]|
|     3      |      1         |    vehiculo    |  moto-coche|
|     4      |      3         |    vehiculo    |  coche         |
+---------+----------------+----------------+---------------+-------------+
En este ejemplo el usuario 1 tiene en el campo vehículo moto y coche pero en la misma celda...no se si me explico bien!

Cual es la forma correcta? en caso de ser la primera forma como saco los datos?

Un saludo y muuuchas gracias por ayudarme Kohm!!
  #8 (permalink)  
Antiguo 28/04/2014, 08:09
 
Fecha de Ingreso: enero-2013
Mensajes: 8
Antigüedad: 11 años, 10 meses
Puntos: 0
Respuesta: Perfil de usuario en codeigniter

Bueno, interpreto que uno de tus problemas es como almacenar los checkbox en la base de datos, si por cada checkbox crear un registro diferente o crear uno solo con toda la información que fue tildada.

Si quieres almacenar toda la información de un grupo de checkbox en un solo registro (vehiculo=coche-moto-quad) y después recuperarla, puedes hacerlo tranquilamente, al igual que si quieres almacenar en distintos registros (vehiculo=coche, vehiculo=moto).

Entonces primero veamos cómo se forman los checkboxs

vista.php
Código PHP:
Ver original
  1. <?php
  2. $atributos = array('class' => 'formulario', 'role' => 'form');
  3. echo form_open('home/prueba',$atributos);
  4.     echo "<input type='text' name='ciudad'>";
  5.     echo "<input type='checkbox' name='veh_moto' value='Moto'> Moto";
  6.     echo "<input type='checkbox' name='veh_quad' value='Quad'> Quad";
  7.     echo "<input type='checkbox' name='veh_coche' value='Coche'> Coche";
  8.  
  9.     echo "<input type='submit'>";
  10. echo form_close();
  11.  ?>

Como sabemos lo que el formulario envía al controlador es un array asociativo con tantos elementos, como campos (inputs, radios checkbox) fueron utilizados en el formulario, donde los nombres de cada elemento del array es el atributo name=''.
Nota: Si un campo input='text' no fue usado, se lo envia igualmente pero con un string "". Ahora si un campo checkbox no fue utilizado, no se lo envía directamente.

Entonces:

CI Controller

Código PHP:
Ver original
  1. public function prueba()
  2.     {
  3.         $post = $this->input->post();
  4.         $this->"nombre_de_tu_modelo"->guardarUsuario($post);
  5.     }

Y es en el modelo donde tu elijes cómo deseas guardar los datos del usuario

Para el caso de guardarlos en registros diferentes sería así:

CI Model

Código PHP:
Ver original
  1. public function guardarUsuario ($post)
  2.     {
  3.         $this->db->set('meta_key','ciudad');
  4.         $this->db->set('meta',$post['ciudad']);
  5.         $query = $this->db->insert('usuarios_meta');
  6.         //Y aquí preguntas por cada checkbox que fue clicado y creas un registro para c/u
  7.         if (isset($post['veh_moto']))
  8.         {
  9.             $this->db->set('meta_key','vehiculo');
  10.             $this->db->set('meta_value',$post['veh_moto']);
  11.             $query=$this->db->insert('usuarios_meta');
  12.         }
  13.         //y así sucesivamente hacer un insert por cada checkbox que quieras controlar
  14.     }

Ahora si quieres insetar todo en un solo registro lo que debes hacer es concatenar todos los checkbox y separarlos por un caracter como por ejemplo "-" y guardarlos en un registro, puedes guiarte con esto
http://www.php.net/manual/es/function.explode.php

Cualquier cosa que no entiendas me lo dices.

Saludos.
  #9 (permalink)  
Antiguo 28/04/2014, 12:44
 
Fecha de Ingreso: abril-2014
Ubicación: Madrid
Mensajes: 14
Antigüedad: 10 años, 7 meses
Puntos: 0
Respuesta: Perfil de usuario en codeigniter

Buenas de nuevo Kohm!

Entenido, muchas gracias, creo que lo almacenare en un único campo separado por algún caracter como (-) o (/), me resulta mas fácil y creo que así ocupara menos registros en la tabla.

Había pensado una manera para mostrar los datos sin recorrer el array en la vista, sería válido así???

Controller:
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) {

    if (
$row->meta_key =='avatar') {
        
$data['avatar']        = $row->meta_value;
    }            
            
    if (
$row->meta_key == 'telefono') {
        
$data['telefono']    = $row->meta_value;
    }
            
    if (
$row->meta_key == 'vehiculo') {
        
$data['vehiculo']    = $row->meta_value;
    } 

        if (
$row->meta_key == 'dni') {
        
$data['dni']        = $row->meta_value;
    }
        
//.... y más datos según se vayan necesitando 
}
return 
$data;

Model:
Código PHP:
public function get_perfil_usuario($usuario_id)
    {
      
$this->db->select('*');
      
$this->db->from('usuarios_meta');
      
$this->db->join('usuarios''usuarios.usuario_id = usuarios_meta.usuario_id');    
      
$this->db->where('usuarios_meta.usuario_id'$usuario_id);  
      
$query $this->db->get();
      return 
$query->result();
    } 
Vista:
En la vista directamente pinto con html y llamo a las variables
Código PHP:
<?php echo $avatar ?> //por ejemplo
Si se te ocurre otra forma que no sea con tanta sentencia "if" cuentame...pero no se me ha ocurrido ninguna otra forma para sacar el dato con el meta_key correspondiente para la vista.

Un saludo de nuevo y muchas gracias!!! estoy mejorando mucho mi programación con tu ayuda!!
  #10 (permalink)  
Antiguo 28/04/2014, 14:13
 
Fecha de Ingreso: enero-2013
Mensajes: 8
Antigüedad: 11 años, 10 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
  #11 (permalink)  
Antiguo 18/05/2014, 14:05
 
Fecha de Ingreso: abril-2014
Ubicación: Madrid
Mensajes: 14
Antigüedad: 10 años, 7 meses
Puntos: 0
Respuesta: Perfil de usuario en codeigniter

Buenas Kohm!

He estado terminando mi trabajo con todas las indicaciones que me diste, y te lo agradezco muchisimo, me han servido para avanzar bastante todo este tiempo.

Ahora me he encontrado con otro problema, te cuento

Resulta que los usuarios tienen que subir imagenes, por ejemplo su avatar, o alguna otra, pongamos el ejemplo del avatar.

En la configuración para subir la imagen tengo el overwrite = true, pero resulta que la imagen tarda en cambiar, si lo cambio a false, entonces el usuario podria subir todas las imagenes que quisiera en su directorio que se crea al subir la imagen, pero no puedo dejarles subir mas una sola imagen.

Sabes porque ocurre esto? la imagen se sube perfectamente, muestro un mensaje de imagen subida correctamente, pero se sigue viendo la anterior....hasta que no actualizas la pagina un par de veces es como que se queda en cache del navegador...
Hay alguna manera de solucionar esto?

Por otro lado, para eliminar las imagenes lo que he hecho es actualizar en la base de datos el campo a "0" pero la imagen no se borra del servidor, como puedo borrar la imagen del servidor??? he leido que hay una funcion dentro del helper 'file' que se llama delete_files() pero no me funciona... sabes como deberia de hacer una funcion que eliminara tanto la imagen del servidor como actualizar el campo de la bbdd???

Un saludo y mil graciasss!!!!
  #12 (permalink)  
Antiguo 26/05/2014, 05:55
 
Fecha de Ingreso: abril-2014
Ubicación: Madrid
Mensajes: 14
Antigüedad: 10 años, 7 meses
Puntos: 0
Respuesta: Perfil de usuario en codeigniter

Buenas!!!

El tema de las imagenes esta solucionado!! gracias a todos!!

Tengo una duda sobre un nuevo problema, a ver si alguien puede echarme una mano....

Necesito poder listar en una tabla todos los datos de un usuario obteniendolos desde la tabla usuarios y usuarios_meta, y al hacerlo con un foreach en lugar de mostrarme una fila por cada usuario me muestra 6 filas, 1 para cada meta dato del usuario de la tabla usuarios_meta....

Tabla usuario:

Código:
+---------+----------------+----------------+----------.----+-------------+ 
|id_user | user_name      |   password   |   nombre    |   apellido     |
+---------+----------------+----------------+---------------+-------------+
|     1   |      foo       |     pass123  |   mariano    |  martinez  |
|     2   |      bari      |     pass123  |   federico    |   lopez      |
|     3   |      coky99    |     pass123  |   john          |   smith      |
|     4   |      carlos    |     pass123  |   nikola       |    tesla      |
+---------+----------------+----------------+---------------+-------------+
Tabla usuarios meta

+---------+----------------+----------------+----------.----+
| id | id_user | meta_key |meta_value |
+---------+----------------+----------------+---------------+
| 1 | 1 | ciudad | cartagena |
| 2 | 1 | telefono | 654321321 |
| 3 | 1 | vehiculo | moto-coche |
| 4 | 2 | ciudad | Madrid |
+---------+----------------+----------------+---------------+-------------+

model:
Código PHP:
public function get_data()
  {
    
$this->db->select('*');
    
$this->db->from('usuarios');
    
$this->db->join('usuarios_meta''usuarios_meta.id_usuario = usuarios.id_usuario');
    
$query $this->db->get();
    return 
$query->result();
  } 

Controller:
Código PHP:
public function listado()

        
$data['usuarios'] = $this->usuario_model->get_data();
        
$this->load->view('listado'$data);

Vista:
Código PHP:
<?php foreach ($usuarios as row){
?>
<table>
<tr>
    <td><?=$row->user_name?></td>
</tr>
........

Pero en la tabla se me generan varias filas una para cada meta dato que ademas no se como mostrar...porque si ponemos $row->ciudad no muestra nada, tengo que hacer un if para comprobar si tiene el meta_key == ciudad y mostrar el meta_value....

Alguna forma de mostrar todo en una sola fila por usuario???

Gracias a todoss!!
  #13 (permalink)  
Antiguo 26/05/2014, 06:41
 
Fecha de Ingreso: enero-2006
Ubicación: Pina (Mallorca -Illes Balears-)
Mensajes: 348
Antigüedad: 18 años, 10 meses
Puntos: 28
Respuesta: Perfil de usuario en codeigniter

La relación de integridad de usuarios y usuarios_meta es 1-N por tanto, para cada fila de usuario tienes N usuarios_meta. Al hacerles una join se adapta el número de registros.

Para eso yo personalmente meto los resultados en un array que quedaría algo así como:

Cita:
$query = $this->db->get('usuario');
$array = array();
$cont = 0;
foreach($query->result_array() as $row){
$array[$cont] = $row;
$array[$cont]['usuarios_meta] = $this->vamos_a_buscar_los_usuarios_meta($row['id_usuario']);
$cont++;
}
return $array;
__________________
Comprar vino mallorquin
  #14 (permalink)  
Antiguo 26/05/2014, 08:01
 
Fecha de Ingreso: abril-2014
Ubicación: Madrid
Mensajes: 14
Antigüedad: 10 años, 7 meses
Puntos: 0
Respuesta: Perfil de usuario en codeigniter

Buenas Pepbeer!

gracias por tu ayuda, pero no lo entiendo bien, he intentando hacer lo que dices, y no me muestra nada, debe de haber algo que no veo...

Si puedieras explicarmelo mas detenidamente!!

Muchas gracias!!
  #15 (permalink)  
Antiguo 27/05/2014, 01:06
 
Fecha de Ingreso: enero-2006
Ubicación: Pina (Mallorca -Illes Balears-)
Mensajes: 348
Antigüedad: 18 años, 10 meses
Puntos: 28
Respuesta: Perfil de usuario en codeigniter

Lo explicaré por lineas:

Cita:
$query = $this->db->get('usuario');
Query necesaria para sacar los usuarios. En tu caso supongo que debes filtrar por el id.

Cita:
$array = array();
$cont = 0;
Inicializamos el array de resultados y el puntero.

Cita:
foreach($query->result_array() as $row){
Recorremos los resultados del array. En caso de sólo recibir un registro no es necesario, se podría hacer con $array[$cont] = $query->row_array();

Cita:
$array[$cont] = $row;
Guardamos la row en el array.

Cita:
$array[$cont]['usuarios_meta] = $this->vamos_a_buscar_los_usuarios_meta($row['id_usuario']);
Para la misma posición del array (variable $cont), añadimos los usuarios meta, filtrandolos por el id del usuario

Cita:
$cont++;
Añadimos una posición al puntero.

Cita:
}
return $array;
Devolvemos el array.


Espero que haya podido quedar más claro ahora. Por supuesto debes adaptar este código a lo que necesites, pero te puede servir como idea.

Saludos.
__________________
Comprar vino mallorquin

Etiquetas: perfil, perfiles, usuarios
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:24.