Ver Mensaje Individual
  #2 (permalink)  
Antiguo 29/01/2014, 22:08
Avatar de enlinea777
enlinea777
 
Fecha de Ingreso: mayo-2008
Ubicación: frente al pc
Mensajes: 1.830
Antigüedad: 15 años, 11 meses
Puntos: 127
Respuesta: Mostrar Categorias en PHP

Pues con esta query

Código MySQL:
Ver original
  1. select id, nombre1, nombre2, nombre3 from
  2. (SELECT *, nombre as nombre3 FROM `categorias`
  3. left join (SELECT id as idt2, nombre as nombre2, parent_id as  parent_id_t2  FROM `categorias`) as t2 on (parent_id=idt2)
  4. left join (SELECT id as idt1, nombre as nombre1, parent_id as  t2parent_id  FROM `categorias`) as t1 on ( parent_id_t2=idt1)
  5.  WHERE  `id`=9) as cats

ESTE ES ELRESULTADO

http://prntscr.com/2nu7m8

o para verlo en filas:

Código MySQL:
Ver original
  1. (select "1" as id, nombre1 as nombre from
  2. (SELECT *, nombre as nombre3 FROM `categorias`
  3. left join (SELECT id as idt2, nombre as nombre2, parent_id as  parent_id_t2  FROM `categorias`) as t2 on (parent_id=idt2)
  4. left join (SELECT id as idt1, nombre as nombre1, parent_id as  t2parent_id  FROM `categorias`) as t1 on ( parent_id_t2=idt1)
  5.  WHERE  `id`=9) as cats )
  6. UNION(select "2" as id, nombre2 as nombre from
  7. (SELECT *, nombre as nombre3 FROM `categorias`
  8. left join (SELECT id as idt2, nombre as nombre2, parent_id as  parent_id_t2  FROM `categorias`) as t2 on (parent_id=idt2)
  9. left join (SELECT id as idt1, nombre as nombre1, parent_id as  t2parent_id  FROM `categorias`) as t1 on ( parent_id_t2=idt1)
  10.  WHERE  `id`=9) as cats )UNION(
  11. select "3" as id, nombre3 as nombre from
  12. (SELECT *, nombre as nombre3 FROM `categorias`
  13. left join (SELECT id as idt2, nombre as nombre2, parent_id as  parent_id_t2  FROM `categorias`) as t2 on (parent_id=idt2)
  14. left join (SELECT id as idt1, nombre as nombre1, parent_id as  t2parent_id  FROM `categorias`) as t1 on ( parent_id_t2=idt1)
  15.  WHERE  `id`=9) as cats )

resultado:

http://prntscr.com/2nu72n

se ve complicado pero no lo es, si es autogenerada la query con php.