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

Consulta padre e hijos en una lista(ul,li)

Estas en el tema de Consulta padre e hijos en una lista(ul,li) en el foro de CodeIgniter en Foros del Web. Buenas tardes tengo una consulta por falta de lógica pues estoy haciendo una consulta a mi base de datos para que me liste los titulos ...
  #1 (permalink)  
Antiguo 16/10/2011, 14:43
Avatar de Drknow  
Fecha de Ingreso: febrero-2008
Mensajes: 121
Antigüedad: 16 años, 10 meses
Puntos: 1
Pregunta Consulta padre e hijos en una lista(ul,li)

Buenas tardes tengo una consulta por falta de lógica pues estoy haciendo una consulta a mi base de datos para que me liste los titulos de un tema "x" por ejemplo :

Titulo 1 , Titulo 2, Titulo 3


aparte tengo otra tabla que almacena las descripciones que esta a su vez se relacionan con la tabla Titulos ( un titulo contiene muchas descripciones)

yo quiero que se vea asi

Titulo 1

descripcion 1
descripcion 2
descripcion 3

Titulo 2
descripcion 4
descripcion 5
.
.
.

anteriormente antes de usar codeigniter recorria con un primer foreach los titulos
y luego para recorrer las descripciones(de ese titulo) lo hacia con otro foreach consultando por el id del titulo).

Ahora que estoy usando MVC tengo mi modelo Titulo y mi modelo Descripcion
los cuales contienen las consultas que voy a realizar

consultar_titulos

consultar_descripciones($titulo) ->identificador


Tambien mi modelo prueba en el cual voy hacer el llamado de los modelos.

Por ahora solo e llamado a la funcion del modelo Titulo

consultar_titulo el cual se lo entrego a la vista para que me liste los titulos todo bien pero el problema que tengo es que no se como listar las descripciones ya que en la vista no puedo llamar a la funcion.

Tendria que tener un array interno dentro del array Titulos para que en la vista se recorra todo normal en dos foreach ( no se como hacer eso)

alguna idea ?


gracias.
  #2 (permalink)  
Antiguo 16/10/2011, 15:57
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 16 años, 5 meses
Puntos: 416
Respuesta: Consulta padre e hijos en una lista(ul,li)

En tu objeto Titulo (modelo), debe tener una lista de las descripciones como una propiedad de ese modelo (variable).
Luego es cosa de hacer los dos bucles:
Código PHP:
Ver original
  1. foreach($titulos as $titulo) {
  2.   $descripciones = $titulo->getDescripciones();
  3.   foreach($descripciones as $descripcion) {
  4.     //=D
  5.   }
  6. }
  #3 (permalink)  
Antiguo 16/10/2011, 18:19
Avatar de Drknow  
Fecha de Ingreso: febrero-2008
Mensajes: 121
Antigüedad: 16 años, 10 meses
Puntos: 1
De acuerdo Respuesta: Consulta padre e hijos en una lista(ul,li)

mmm esa funcion si no me equivoco devuelve un objeto descripcion bueno no e pensado en utilizar TO en el modelo y mucho menos mapear mis tablas :S supongo que estaria mejor pues asi seria manejable mis modelos tienes una estructura estandar de directorios de modelos y TO ?
  #4 (permalink)  
Antiguo 27/10/2011, 20:25
Avatar de Drknow  
Fecha de Ingreso: febrero-2008
Mensajes: 121
Antigüedad: 16 años, 10 meses
Puntos: 1
Respuesta: Consulta padre e hijos en una lista(ul,li)

no entiendo muy bien lo de los modelos no las e construido como si fueran entidades(TO) tampoco no puedo usar un ORM.
Solo en mis modelos tengo los metodos para listar, guardar,eliminar,etc


Código PHP:
Ver original
  1. // Modelo titulo_model
  2. public function listar_titulos(){ // me devuelve los titulos
  3.         $data = array();
  4.         $this->db->select('title');
  5.         $this->db->from('titulos');
  6.  $query = $this->db->get();
  7.         if($query->num_rows() > 0)
  8.         {
  9.             $data = $query->result();
  10.         }
  11.         $query->free_result();
  12.         return $data;
  13. }
  14.  
  15. // Modelo descripcion_model
  16.  
  17.   public function listar_descripciones($id_titulo) // me devuelve descripciones por titulos
  18.     {
  19.         $data = array();
  20.         $this->db->select('resumen');
  21.         $this->db->from('descripcion');
  22.         $this->db->where('idtitulo=', $id_titulo);
  23.         $query =  $this->db->get();
  24.         if($query->num_rows() > 0)
  25.         {
  26.             $data = $query->result();
  27.         }
  28.         $query->free_result();
  29.         return $data;
  30.     }
  31.  
  32.  
  33.  
  34. /*
  35. pero no entiendo como obtengo lo de la lista ya que en la pagina web (vista)
  36. recorro un array solamente el cual me  retorna los titulos pero no se como enlazarlo con las descripciones solo llegue a esta parte estoy medio OFF ! ...
  37. */
  38.  
  39.  
  40.  
  41. class Titulo_model extends CI_Model {
  42.     //put your code here
  43.    
  44.     private $_descripciones; // para almacenar las descripciones
  45.  
  46.     public function getDescripciones(){ // devolviendo descripciones
  47.         return $this->_descripciones;
  48.     }
  49.  
  50. /**
  51. agregando descripciones?
  52. */
  53.     public function agregar_descripcion(Descripcion_model $descripcion)
  54.     {
  55.         $this->_descripciones[] = $descripcion;
  56.     }

una pista ? no entiendo mucho los Modelos en Mvc :p


GRACIAS !
  #5 (permalink)  
Antiguo 31/10/2011, 16:21
 
Fecha de Ingreso: julio-2008
Ubicación: Barcelona
Mensajes: 2.100
Antigüedad: 16 años, 5 meses
Puntos: 165
Respuesta: Consulta padre e hijos en una lista(ul,li)

Los modelos se encargan de obtener los datos para posteriormente pasar esos datos a las vistas.
__________________
Gracias por el Karma :D

empleo ofertas de trabajo
  #6 (permalink)  
Antiguo 08/11/2011, 19:56
Avatar de Drknow  
Fecha de Ingreso: febrero-2008
Mensajes: 121
Antigüedad: 16 años, 10 meses
Puntos: 1
Respuesta: Consulta padre e hijos en una lista(ul,li)

si lo solucione la semana pasada pues como siempre habia trabajado 100% objetos esto es un poco similar lo unico que hice en mi metodo listar_descripciones le quite el parametro e hice que liste todas las descripciones con el idTitulo asi en la vista solo comparo
foreach titulos
----foreach descripciones

------ si titulos.idTitulo = descripciones.idTitulo entonces
hago que sea una sublista dentro de descripciones

asi lo resolvi o.O !
  #7 (permalink)  
Antiguo 26/04/2013, 03:34
 
Fecha de Ingreso: noviembre-2012
Ubicación: Villa Maria, Peru
Mensajes: 46
Antigüedad: 12 años, 1 mes
Puntos: 0
Respuesta: Consulta padre e hijos en una lista(ul,li)

Cita:
Iniciado por Drknow Ver Mensaje
si lo solucione la semana pasada pues como siempre habia trabajado 100% objetos esto es un poco similar lo unico que hice en mi metodo listar_descripciones le quite el parametro e hice que liste todas las descripciones con el idTitulo asi en la vista solo comparo
foreach titulos
----foreach descripciones

------ si titulos.idTitulo = descripciones.idTitulo entonces
hago que sea una sublista dentro de descripciones

asi lo resolvi o.O !
MEN GRACIAS, MIL GRACIAS POR COMPARTIR TU SOLUCION PT.. ERES MI IDOLO, TE AMOOOOO. ME SALVASTE LA VIDA, ESTABA TRATANDO Y TRATANDO COMO 5 HORAS Y NADAAA GRACIASSS..¡¡¡
Código PHP:
<?php
$a 
1
while($a 2)
{
echo 
"GRACIAS";
}
?>

Etiquetas: Ninguno
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 05:17.