PHP - Consulta recursiva

 
Vista:

Consulta recursiva

Publicado por FiSiCo (403 intervenciones) el 20/04/2005 01:37:57
Mi problema es el siguiente:

tengo un sitema que maneja fotografias por categoria donde las categorias pueden ser infinitas por lo que my tabla es esta:

id, seccion, categoria, nombre, archivo, ...

cuando id=categoria este va a ser el padre de esa categoria y los hijos van a ser
por ejemplo el padre es id=1 y categoria=1 y el hijo puede ser id=2, categoria=1 donde el id es un autonumerico y el hijo de este puede ser id=3, categoria=2 y asi sucesivamente
padre
id categoria
1 1 padre
2 1 hijo de 1 , 1
3 2 hijo de 2,1 y a su vez 2,1 es hijo de 1,1

mi pregunta es comp poder hacer una consulta de este arbol ya que es recursiva la consulta y no encuentro como hacerla tengo este codigo:

$rs1 = mysql_db_query($base_datos,"SELECT * FROM categorias where id=categoria order by id", $con);
//donde esta consulta me trae todos los padres principales

while($row1 = mysql_fetch_row($rs1))
{
$rs2 = mysql_db_query($base_datos,"SELECT * FROM categorias where id!=categoria and categoria=".$row1[0]." order by id", $con);
while($row2 = mysql_fetch_row($rs2))
{

//con esta encuentro los hijos de la categoria principal

$rs3 = mysql_db_query($base_datos,"SELECT * FROM categorias where id!=categoria and categoria=".$row2[0]." order by id", $con);

//con esta encuentro los hijos de la subcategoria principal pero la consualta es la misma que la anterior como puedo hacer esto una funcion recursiva ya lo intente pero no me finciona en este codigo los while no se han cerrado lo que quiero hacer es que el resultado me de algo asi

-categoria 1,1
----- categoria 2,1
--------- categoria 3,2
-----categoria 4,1
que seria formar el arbol de esas categorias

de antemano gracias por leer mi pregunta

Saludos
Atte:
FiSiCo


Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder