Autor
|
Tema: funcion recursiva de hijo a padre (Leído 11,490 veces)
|
satan69
Desconectado
Mensajes: 341
|
function url_pagina_categoria($link,$hija,$x){ $sql="SELECT * FROM `contenido` WHERE idcontenido = ".$hija; $result=mysql_query($sql); if($result){ $row = mysql_fetch_array($result); $nombre = $row['nombre']; $idcontenido = $row['idcontenido']; $parent = $row['parent']; if($x==''){ $x=0; } if($parent==0){ $nombre = str_replace(' ','-',$nombre); $link[$x] = $nombre.$x; }else{ $x = $x+1; $nombre = str_replace(' ','-',$nombre); $link[$x]=$nombre; url_pagina_categoria($link,$parent,$x); } }//fin del la funcion revisar si existen datos return $link; } tonces en teorioa yo tendria que hacer esto $link =url_pagina_categoria($link,3,$x) aqui necesito que me regrese un array donde con el codigo que tengo de ordenar o tambien puedo usar el que tu me diste, lo ordeno y creo : Foro de elhacker.net |-+ Programación | |-+ Desarrollo Web | | |-+ PHP Programación id 1 parent 0 Desarrollo Web id 2 parent 1 PHP id 3 parent 2
|
|
|
En línea
|
|
|
|
~ Yoya ~
Wiki
Desconectado
Mensajes: 1.125
|
Te sale solo uno porque usas if y necesitas que el ciclo se vaya repitiendo... <?php { } ?>
Salida: Array ( [0] => 1 ) Array ( [0] => 2 ) Array ( [0] => 3 ) Con if <?php { } ?>
Salida: ( [0] => 1 )
Creo que también tienes un error con el array, aqui un ejemplo: <?php $array[] = 'asa'; $array[] = 5656; $array[] = 1515.545; ?>
Salida: Array ( [0] => asa [1] => 5656 [2] => 1515.545 )
|
|
|
En línea
|
Mi madre me dijo que estoy destinado a ser pobre toda la vida. Engineering is the art of balancing the benefits and drawbacks of any approach.
|
|
|
satan69
Desconectado
Mensajes: 341
|
si te entiendo, pero utilizando funcion recursiva como la que te estaba ensenado..?
|
|
« Última modificación: 23 Octubre 2010, 18:20 pm por satan69 »
|
En línea
|
|
|
|
~ Yoya ~
Wiki
Desconectado
Mensajes: 1.125
|
<?php function ejemplo_while($str){ { $result[] = $row[0]; } return $result; } $sql = ejemplo_while('select id from ejemplo'); ?>
Salida: Array ( [0] => 1 [1] => 2 [2] => 3 )
|
|
|
En línea
|
Mi madre me dijo que estoy destinado a ser pobre toda la vida. Engineering is the art of balancing the benefits and drawbacks of any approach.
|
|
|
satan69
Desconectado
Mensajes: 341
|
<?php function ejemplo_while($str){ { $result[] = $row[0]; } return $result; } $sql = ejemplo_while('select id from ejemplo'); ?>
Salida: Array ( [0] => 1 [1] => 2 [2] => 3 ) gracias por todos los mensajes, pero esa funcion no es recursiva, mira le ejemplo que te puse id 1 Programación parent 0 id 2 Desarrollo Web parent 1 id 3 PHP parent 2 ejemplo quiero sacar todos los padres de php? ese es el ejemplo
|
|
|
En línea
|
|
|
|
~ Yoya ~
Wiki
Desconectado
Mensajes: 1.125
|
ejemplo quiero sacar todos los padres de php? ese es el ejemplo Cada vez entiendo menos tu problema... Ps en vez de crear un source que ya estoy perdido xD, mejor arreglemos tu source.. mira la funcion que tengo, a simplevista uno cree que funciona pero no funciona porque no me guarda el arreglo link, cuando quiero imprimirlo con print_r sale solo el ultimo que entro en el arreglo, ahora si tiene mas de 5 padres deberia de salir los 5 no el ultimo, me entiendes..? Te sale solo uno porque usas if y necesitas que el ciclo se vaya repitiendo...
|
|
|
En línea
|
Mi madre me dijo que estoy destinado a ser pobre toda la vida. Engineering is the art of balancing the benefits and drawbacks of any approach.
|
|
|
satan69
Desconectado
Mensajes: 341
|
ejemplo quiero sacar todos los padres de php? ese es el ejemplo Cada vez entiendo menos tu problema... Ps en vez de crear un source que ya estoy perdido xD, mejor arreglemos tu source.. mira la funcion que tengo, a simplevista uno cree que funciona pero no funciona porque no me guarda el arreglo link, cuando quiero imprimirlo con print_r sale solo el ultimo que entro en el arreglo, ahora si tiene mas de 5 padres deberia de salir los 5 no el ultimo, me entiendes..? Te sale solo uno porque usas if y necesitas que el ciclo se vaya repitiendo... mira el primer mensaje que puse, lo que quiero yo es con esa funcion obtener todos los padres meterlos en un array despues ordenarlos... saludos
|
|
|
En línea
|
|
|
|
~ Yoya ~
Wiki
Desconectado
Mensajes: 1.125
|
puedes poner la estructura de la tabla que usas y algunos de los registro que tienen, así puedo testear...
|
|
« Última modificación: 27 Octubre 2010, 19:55 pm por ~ Yoya ~ »
|
En línea
|
Mi madre me dijo que estoy destinado a ser pobre toda la vida. Engineering is the art of balancing the benefits and drawbacks of any approach.
|
|
|
Xt3mP
Desconectado
Mensajes: 11
|
No se si te entendí muy bien pero lo que quieres hacer es que si la estructura es: 1 > 2 > 3 > 4 y quieres mostrar el 3 te muestre 1 > 2 > 3 o bien si quieres mostrar el 4 te muestre 1 > 2 > 3 > 4, es decir que si tienes digamos "3 categorías" y eliges la número 3, te cree como un árbol prácticamente desde la primer categoría hasta la que elegiste? 1 |+2 |++3 Sí es así y es por base de datos (mis ocurrencias son grandes pero funcionan) primero tendría que saber como estan ordenadas tus tablas para ver como haré la petición, bueno, según leí tienes un id y un parent para indicar, entonces una posible solución sería: La función que tienes para obtener el "ID" y ya sea un bucle (digamos, si el parent o el ID esta por orden númerico) que mientras el $i < ID_categoria te tire las anteriores, asi que suponiendo que tenemos 1 = ID 1 2 = ID 2 3 = ID 3 Si elegimos la 3 seria $i = 0 ; $i < 3; $i++ entonces de esta manera obtendras todos los ID anteriores o parents (según te acomodes), ya solo sería cuestión de que los organizes en un array y los muestres. Ahora, si solo te tira el último, puedes utilizar array_push() con el nuevo padre para asi agregarlo al final ya que pues dicha función va agregando valores al final de un array, pero bueno, alomejor al leer esto te da ideas, saludos.
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Problema función factorial recursiva
Java
|
Oblivi0n
|
1
|
2,276
|
4 Octubre 2012, 19:03 pm
por die_guito
|
|
|
impimir estructura de datos padre e hijo
Programación General
|
ricardo07
|
5
|
2,541
|
3 Julio 2013, 05:46 am
por El Benjo
|
|
|
El FBI quería que el padre de Snowden volara a Moscú para convencer a su hijo
Noticias
|
Mister12
|
0
|
1,322
|
31 Julio 2013, 18:01 pm
por Mister12
|
|
|
La Justicia hace responsable a un padre por las descargas piratas de su hijo
Noticias
|
wolfbcn
|
1
|
1,588
|
3 Marzo 2017, 22:28 pm
por --<<<@u6u$t0>>>--
|
|
|
Fortnite: Un padre de familia decide que su hijo deba dejar de estudiar para ...
Noticias
|
wolfbcn
|
4
|
2,288
|
20 Julio 2019, 21:27 pm
por crazykenny
|
|