Comunidad de diseño web y desarrollo en internet online

Consulta MySQL

Citar            
MensajeEscrito el 26 Ene 2009 03:25 pm
Buenas:

Resulta que tengo una tabla con las siguientes columnas:

Código :

id
parent
name


resulta que la columna "parent" contiene el ID de algún registro que se encuentra en esta misma tabla. De manera que en esta tabla estan los Parents y los Childs... el caso es que quisiera hacer una consulta donde ordene el resultado en forma de arbol.

Por ShotoKan

45 de clabLevel



Genero:Masculino  

msie7
Citar            
MensajeEscrito el 28 Ene 2009 12:42 am
Primero busca una manera de identificar los padres y creas una consulta solo para obtenerlos, y los metes en un array multidimensional, luego toma uno por uno el id de los items padres que ya tienes y haces consultas para sacar los hijos y los metes en el array en la pocicion de su padres.

Con el array lleno puedes mostrar los datos como te paresca.

Saludos.

Por GersonM_17

330 de clabLevel



Genero:Masculino   Héroes

Flash AS3 / PHP Developer

firefox
Citar            
MensajeEscrito el 28 Ene 2009 01:43 am
claro una muy buena solucion

Por talcual

686 de clabLevel



 

Colombia

firefox
Citar            
MensajeEscrito el 28 Ene 2009 05:22 pm
Hola
Eso lo podes resolver en una sola consulta

[scode]
SELECT CONCAT(id,parent) as miclave, CONCAT(id, "-",parent) as miclave2 FROM tabla ORDER BY miclave DESC
[/code]

De esta manera vas a tener ordenados padres e hijos (siempre pensando q es un arbol de 2 niveles nada mas) y podras sacar la clave de cada uno con el campo miclave2 haciendo un explode por "-"


Si es el arbol es de multiples niveles ya es otro tema... tendras q armar una clave unica q agrupe todas las claves de la rama (hacia arriba)... por ejemplo la raiz seria id=1, luego si hay 2 ramas serian id=2 e id=3, pero te guardas en otro campo el "path" a la raiz para id=2 seria path="1.2", para id=3 seria path="1.3"... ahora si id=2 tiene otro hijo, su path seria path="1.2.4" y asi....

Bueno espero q te sirva de ayuda... saludos!

Por alfathenus

833 de clabLevel

5 tutoriales

 

buenos aires || Argentina

firefox
Citar            
MensajeEscrito el 30 Ene 2009 09:45 pm
@GersonM_17

Muchas gracias, pero la idea era ver si se podía hacer con una sola consulta.

@alfathenus

Eso es precisamente lo que buscaba, aun no lo he probado... ojala que funcione. Muchas gracias

@talcual

Compa... que comentarios tan spam los que usted hace.

Por ShotoKan

45 de clabLevel



Genero:Masculino  

chrome
Citar            
MensajeEscrito el 31 Ene 2009 05:10 am

ShotoKan escribió:

@talcual

Compa... que comentarios tan spam los que usted hace.
+1

Al fin alguien lo dice..!

Por KB-27

Claber

301 de clabLevel



 

My very secret HQ

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.