Foros del Web » Programando para Internet » PHP »

aplicacion de noticias en php y mysql, ayuda con una consulta jerarquica...

Estas en el tema de aplicacion de noticias en php y mysql, ayuda con una consulta jerarquica... en el foro de PHP en Foros del Web. Saludos, Estoy haciendo una aplicación de noticias en php y mysql y la tabla de las secciones o temas de las noticias me llevan de ...
  #1 (permalink)  
Antiguo 14/04/2005, 10:19
 
Fecha de Ingreso: noviembre-2003
Mensajes: 76
Antigüedad: 20 años, 5 meses
Puntos: 0
aplicacion de noticias en php y mysql, ayuda con una consulta jerarquica...

Saludos,
Estoy haciendo una aplicación de noticias en php y mysql y la tabla de las secciones o temas de las noticias me llevan de cabeza, a ver si alguien puede echarme una mano.
Para crear secciones y subsecciones de forma jerárquica he creado la siguiente tabla:

CREATE TABLE secciones
(
id_seccion int(11) NOT NULL default '0',
id_padre int(11) default NULL,
nombre varchar(50) NOT NULL default '',
descripcion varchar(150) NOT NULL default '',
PRIMARY KEY (`id_seccion`)
)

Los campos importantes son:
id_seccion --> le doy números incrementando el anterior
id_padre --> meto el id_seccion de la sección padre...

Pues la cuestión es que en el formulario para crear la sección he puesto un select (PADRE) en el que quiero que mediante una consulta aparezcan todas las secciones existentes para poder seleccionar una, en caso de que estuviésemos creando una subsección e intentaba que la consulta sacase las secciones de forma jerarquica... Pues en los apuntes que tengo de sql existe una formula para hacer esto el “connect by [prior] expresion= [prior] expresión start with expresión=valor;” pero he hecho algunas pruebas y me da errores mysql... alguien puede decirme algo?
Como se haría la consulta o que otra alternativa se puede usar para conseguir mostrar en el select todas las secciones existentes de forma jerarquica ¿?

Gracias
  #2 (permalink)  
Antiguo 14/04/2005, 11:13
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Parece que en el SQL soportado por Msyql (y el tipo de tablas MyISAM que supongo usas) no se acepta esa sintax o sentencias .. De todas formas .. podrías consultarlo en la documentación oficial de Mysql: www.mysql.com o en el foro de "Base de datos".

Por lo demás . .tal cual describes tu tabla y basandose en las "falencias" de Mysql .. la solución puedes verla en este mensaje .. donde se aplicar "recursividad" para ir recorriendo todos tus nodos.

http://www.forosdelweb.com/f18/listado-jerarquico-datos-288748/ (y el otro que se hace mención ahí mismo).

Un saludo,

Un saludo,
  #3 (permalink)  
Antiguo 15/04/2005, 02:19
 
Fecha de Ingreso: noviembre-2003
Mensajes: 76
Antigüedad: 20 años, 5 meses
Puntos: 0
Gracias Cluster por responder, he estado leyendo los temas a los que te refieres y la única supuesta solución es la que dice timba haber puesto en las faq... pero entro en las faq y hago una busqueda y esto es lo que aparece...
timba Fecha de Ingreso: Feb 2005
Mensajes: 25

Listar Categorias Jerarquicamente

--------------------------------------------------------------------------------

Para listar las categorias Jerarquicamentes deben de hacer lo siguiente:

Primero cree una funcion

Un Saludo

--------------------------------------------------------------------------------
Úlima edición por timba fecha: 19-03-2005 a las 10:37 PM.


Osea que no aparece ninguna solución al tema... por favor, Cluster si existe esa respuesta podrias decirme donde esta? muchas gracias
  #4 (permalink)  
Antiguo 15/04/2005, 07:14
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
El código del mensaje que te mencioné en teoría es prácticamente el final . .no sé por qué editó su FAQ el usuario indicado (pero ya me contacté con el hace tiempo para ver que sucedió).


También tienes el ejemplo de: MartinTandil en el link que te dejé .. No sé si los has probado?.

Un saludo,
  #5 (permalink)  
Antiguo 15/04/2005, 11:04
 
Fecha de Ingreso: noviembre-2003
Mensajes: 76
Antigüedad: 20 años, 5 meses
Puntos: 0
Hola Cluster,
te agradezco tus respuestas pero en el mensaje de Timba no hay ningún código ni explicación que solucione el tema y el código de Martin Tandil tiene una función con una consulta que solo serviría para secciónes con dos niveles de profundidad y para la cual deberiamos usar un bucle que diera tantas pasadas como secciones padre existen para hacer el mismo número de llamadas a la función y sacar todos los datos, es decir que tampoco soluciona nada por eso te preguntaba si en las faq Timba había escrito la solución que decía haber encontrado.
Gracias de todas formas, parece que nadie sabe o nadie quiere compartir la solución a este tema.
Saludos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:03.