Autor
|
Tema: recursividad en codeigniter!,,, (Leído 6,868 veces)
|
01munrra
Desconectado
Mensajes: 282
|
saludos!,,, tienen alguna idea de como hacer una funcion recursiva en CI ???
|
|
|
En línea
|
|
|
|
Kase
Desconectado
Mensajes: 1.288
programa bonito ¬¬
|
claro.. la llamas a si misma... o__o
|
|
|
En línea
|
|
|
|
EFEX
Desconectado
Mensajes: 1.171
"Dinero Facil"
|
En donde queres aplicarlo? muestra el codigo.
|
|
|
En línea
|
|
|
|
01munrra
Desconectado
Mensajes: 282
|
EFEX , yo habia hecho esto en php puro. esta funcion me recorre la misma tabla y me muestra los hijos de cada padre. function recursive($pariente) { { echo "" .$Hijo['nombre']. "<br>"; recursive_hijos($Hijo['Id']); } }
ahora la quiero hacer pero usando Codeigniter, y pues para ser sincero ,e enriedo puesto que ahora tengo aparte el modelo(donde tengo que modelar la consulta a la base de datos), la vista(donde voy a controlar las vistas) y el controlador, he aqui donde tengo que hacer una funcion que me recorra la tabla de manera recirsiva.
|
|
|
En línea
|
|
|
|
EFEX
Desconectado
Mensajes: 1.171
"Dinero Facil"
|
Estas empezando con CI verdad? Si tenes claro el patron MVC, lo cachas enseguida, podes leer la documentacion oficial en el sitio. CodeIgniter User Guide Version 2.1.0http://codeigniter.com/user_guide/Este es un ejemplo, lo hice 'a mano alzada' y es para que veas como es el patron Modelo-Vista-Controlador, el codigo esta mal por lo que te aconsejo no probarlo , si me equiboque en algo y me corrigen mejor. El modelo esta encargado de hacer peticiones a la base de datos(insert, update, select, etc). .../models/base.php class Base_model extends CI_Model { //Al definir una clase la primera letra siempre tiene que ser mayuscula function __construct() { //Llamar al contructor del modelo parent::__construct(); } public function consulta($pariente) { //Preparamos la consulta $this->db->get_where('Familia', array('IdPadre' => $pariente)); //Generamos la consulta $query = $this->db->get(); //Devolvemos el resultado return $query->result(); } }
Las vistas puede ser un pedazo del sitio web, como el header, footer, vista de un carrito de compras, etc. No son llamadas directamente y se cargan en el controlador. El codigo php esta embebido dentro de la vista, por que estará nuestro codigo html, js, css y no hay clases ni funciones de php. .../views/familia.php <?php echo $nombreHijo; ?>
El controlador es la base de tu aplicación, es una clase que tiene una asociación con la url del sitio. ejemplo.com/index.php/nombre-del-controlador/funcion .../controllers/casa.php class Casa extends CI_Controller { public function recursive($pariente){ //Esta funcion va ser poder accedida desde ejemplo.com/index.php/casa/recursive $this->load->model('Base', 'db'); //Cargamos el modelo $respuesta = $this->db->consulta($pariente); //Genera la consulta //Es solo un ejemplo, hay que pensar desde aqui :) while($respuesta) { //Definimos lo que pasaremos a nuestra vista, nota que la clave 'nombreHijo' del array $datos esta asociado a la variable $nombreHijo de la vista familia. $datos['nombreHijo'] = $respuesta; //Cargamos la vista y mostramos $this->load->view('familia', $data); } } }
|
|
|
En línea
|
|
|
|
01munrra
Desconectado
Mensajes: 282
|
si hasta hora estoy empezando a usar codeigniter, y se me dificulta un poco....... gracias por la explicacion, me daste un empujon, de donde empezar.... voy a tomar en cuenta tus explicaciones, cualquier cosa te estare comentando....
|
|
|
En línea
|
|
|
|
01munrra
Desconectado
Mensajes: 282
|
EFEX, estoy en el modelado(models) haciendo algo parecido a esto: public function traer($id_pariente) { // procedimientos traer($id); }
y me muestra esto: Fatal error: Call to undefined function traer()
y por su puesto señala la linea donde estoy llamando la funcion, y no entiendo por que no me reconoce la funcion, pusto que esta en la misma clase y pues si ves lo que esta hacien es llamandose a si misma con un nuevo parametro... la manera de llamar funciones en php es esa, cierto? pero entonces en codeigniter usa otra forma de llamar las funciones??..
|
|
|
En línea
|
|
|
|
Kyke-28
Desconectado
Mensajes: 1
|
Se Nota que no haz programado POO( Programación Orientado a Objetos ) public function traer($id_pariente) { // procedimientos traer($id); }
es así: public function traer($id_pariente) { // procedimientos $this-> traer($id); }
Aprende primero POO, ya te daras una idea con Codeigniter ya que se base mucho POO. Saludos.
|
|
|
En línea
|
|
|
|
01munrra
Desconectado
Mensajes: 282
|
Kyke-28, si he trabajado con POO, mi primer lenguaje en aprender a programar fue C++, use POO como no te imaginas,,,,, ahora con respecto a CI, pregunto es por que no conozco muy bien su sintaxi de programacion,,, hasta hora estoy aprendiendo a programar en CI.
gracias por la info...
saludos!!
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
IDE para CodeIgniter?
PHP
|
[u]nsigned
|
0
|
3,894
|
16 Diciembre 2010, 21:55 pm
por [u]nsigned
|
|
|
IDE para CodeIgniter?
Desarrollo Web
|
[u]nsigned
|
1
|
5,338
|
18 Abril 2011, 17:43 pm
por Nakp
|
|
|
CodeIgniter y Postgre
PHP
|
RepsaGlez
|
2
|
7,558
|
8 Agosto 2011, 23:29 pm
por RepsaGlez
|
|
|
[Aporte]Integrar Facebook SDK PHP con CodeIgniter
PHP
|
[u]nsigned
|
1
|
3,137
|
10 Mayo 2012, 06:23 am
por EFEX
|
|
|
Problema en CodeIgniter
Desarrollo Web
|
Shell Root
|
2
|
2,277
|
21 Marzo 2013, 19:40 pm
por 01munrra
|
|