elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Trabajando con las ramas de git (tercera parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web (Moderador: #!drvy)
| | |-+  recursividad en codeigniter!,,,
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: recursividad en codeigniter!,,,  (Leído 6,519 veces)
01munrra

Desconectado Desconectado

Mensajes: 282



Ver Perfil
recursividad en codeigniter!,,,
« en: 17 Abril 2012, 05:50 am »

saludos!,,, tienen alguna idea de como hacer una funcion recursiva en CI ??? 


En línea

Kase


Desconectado Desconectado

Mensajes: 1.288


programa bonito ¬¬


Ver Perfil WWW
Re: recursividad en codeigniter!,,,
« Respuesta #1 en: 17 Abril 2012, 07:57 am »

claro.. la llamas a si misma... o__o




En línea

EFEX


Desconectado Desconectado

Mensajes: 1.171


"Dinero Facil"


Ver Perfil WWW
Re: recursividad en codeigniter!,,,
« Respuesta #2 en: 17 Abril 2012, 10:30 am »

En donde queres aplicarlo? muestra el codigo.
En línea

01munrra

Desconectado Desconectado

Mensajes: 282



Ver Perfil
Re: recursividad en codeigniter!,,,
« Respuesta #3 en: 17 Abril 2012, 14:28 pm »

EFEX , yo habia hecho esto en php puro.

esta funcion me recorre la misma tabla y me muestra los hijos de cada padre.

Código
  1. function recursive($pariente)
  2. {
  3.   $sql = mysql_query("SELECT * FROM Familia WHERE IdPadre = '$pariente' ") or die(mysql_error());
  4.   while( $Hijo = mysql_fetch_array($sql) )
  5.    {
  6.    echo "" .$Hijo['nombre']. "<br>";
  7.         recursive_hijos($Hijo['Id']);  
  8.    }
  9. }
  10.  

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 Desconectado

Mensajes: 1.171


"Dinero Facil"


Ver Perfil WWW
Re: recursividad en codeigniter!,,,
« Respuesta #4 en: 18 Abril 2012, 13:52 pm »

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.0
http://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
Código
  1. class Base_model extends CI_Model { //Al definir una clase la primera letra siempre tiene que ser mayuscula
  2. function __construct()
  3. {
  4. //Llamar al contructor del modelo
  5. parent::__construct();
  6. }
  7. public function consulta($pariente)
  8. {
  9. //Preparamos la consulta
  10. $this->db->get_where('Familia', array('IdPadre' => $pariente));
  11. //Generamos la consulta
  12. $query = $this->db->get();
  13. //Devolvemos el resultado
  14. return $query->result();
  15. }
  16. }
  17.  

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
Código
  1. <?php echo $nombreHijo; ?>
  2.  

El controlador es la base de tu aplicación, es una clase que tiene una asociación con la url del sitio.
Citar
ejemplo.com/index.php/nombre-del-controlador/funcion

.../controllers/casa.php
Código
  1. class Casa extends CI_Controller {
  2. public function recursive($pariente){ //Esta funcion va ser poder accedida desde ejemplo.com/index.php/casa/recursive
  3. $this->load->model('Base', 'db'); //Cargamos el modelo
  4. $respuesta = $this->db->consulta($pariente); //Genera la consulta
  5. //Es solo un ejemplo, hay que pensar desde aqui :)
  6. while($respuesta)
  7. {
  8. //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.
  9. $datos['nombreHijo'] = $respuesta;
  10. //Cargamos la vista y mostramos
  11. $this->load->view('familia', $data);
  12. }
  13. }
  14. }
  15.  


En línea

01munrra

Desconectado Desconectado

Mensajes: 282



Ver Perfil
Re: recursividad en codeigniter!,,,
« Respuesta #5 en: 18 Abril 2012, 16:01 pm »

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 Desconectado

Mensajes: 282



Ver Perfil
Re: recursividad en codeigniter!,,,
« Respuesta #6 en: 25 Abril 2012, 23:36 pm »

EFEX, estoy en el modelado(models) haciendo algo parecido a esto:

Código
  1.  
  2. public function traer($id_pariente)
  3. {
  4.   // procedimientos
  5.   traer($id);
  6. }
  7.  
  8.  

y me muestra esto:

Código
  1. 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 Desconectado

Mensajes: 1


Ver Perfil
Re: recursividad en codeigniter!,,,
« Respuesta #7 en: 28 Abril 2012, 00:26 am »

Se Nota que no haz programado POO( Programación Orientado a Objetos )
Código
  1. public function traer($id_pariente)
  2. {
  3.   // procedimientos
  4.   traer($id);
  5. }

es así:

Código
  1. public function traer($id_pariente)
  2. {
  3.   // procedimientos
  4.   $this-> traer($id);
  5. }

Aprende primero POO, ya te daras una idea con Codeigniter ya que se base mucho POO.

Saludos.
En línea

01munrra

Desconectado Desconectado

Mensajes: 282



Ver Perfil
Re: recursividad en codeigniter!,,,
« Respuesta #8 en: 29 Abril 2012, 01:50 am »

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

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
IDE para CodeIgniter?
PHP
[u]nsigned 0 3,769 Último mensaje 16 Diciembre 2010, 21:55 pm
por [u]nsigned
IDE para CodeIgniter?
Desarrollo Web
[u]nsigned 1 5,117 Último mensaje 18 Abril 2011, 17:43 pm
por Nakp
CodeIgniter y Postgre
PHP
RepsaGlez 2 7,347 Último mensaje 8 Agosto 2011, 23:29 pm
por RepsaGlez
[Aporte]Integrar Facebook SDK PHP con CodeIgniter
PHP
[u]nsigned 1 3,004 Último mensaje 10 Mayo 2012, 06:23 am
por EFEX
Problema en CodeIgniter
Desarrollo Web
Shell Root 2 2,081 Último mensaje 21 Marzo 2013, 19:40 pm
por 01munrra
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines