Ante todo comentar que soy un programador que nunca he recurrido a los foros, puesto que suelo buscar información o posteos. Pero si pido esta vez ayuda es porque realmente estoy atascado..
Situación:
Tengo que realizar un análisis textual de un foro, es decir, traer de una base de datos MySQL los mensajes, y mostrar tanto los posts iniciales como las respuestas a estos (acompañados de otra información que no viene al caso).
Situación actual:
He conseguido mostrar tanto los mensajes "padre" como sus hijos en jerarquía, de la forma:
- Padre 1
--- Hijo 1.1
------Hijo 1.1.1
------Hijo 1.1.2
- Padre 2
- Padre 3
--- Hijo 3.1
Pero se me pide que a la izquierda de cada padre, se muestre un simbolo + que al pulsarlo, despliegue todas las respuestas de sus hijos, sean del nivel que sean.
Contexto:
Estoy usando PHP con MySQL, y JavaScript y Ajax para estos casos. Para la representación del árbol he utilizado este FAQ:
http://www.forosdelweb.com/wiki/PHP:%C2%BFC%C3%B3mo_crear_un_%C3%A1rbol_jer%C3%A1rquico_a_partir_de_una_tabla_en_la_DB%3F
Mi problema:
No se como hacer que cada padre muestre a todos los hijos. Estoy probando con un evento sobre una imagen (+), que llama a una funcion de Java para mostrar/ocultar a los hijos.
Mi código (PHP):
Código PHP :
while(lee filas de MySQL->tanto posts iniciales como hijos) { if($row[5]!=0) // Accede si el padre no es 0, es decir, los hijos { echo '<tr id="contenedorRespuesta'.$row[5].'" style="display:none">; // Aqui van la filas hijas (ocultas) echo '</tr>'; } else // Accede si son posts iniciales { echo '<tr><img src="IMAGEN" onClick="cargaContenidoRespuestas('.$row[0].')"/></td> //Aqui van los mensajes padre</tr> } }
El problema es que yo llamo a cada fila hija con el id del padre (lo lógico sería llamar a cada fila con el id del post propio, pero...¿como sabría el padre a quien llamar por onclick?
En resumen, al tener las filas hijas el mismo id (ya que el padre es el mismo), cuando le doy a cada simbolo + solo se muestra uno de los hijos. ¿Alguien podría orientarme?
Otro problema es que los posts que no sean del primer nivel no se podran mostrar, puesto que su padre no es el post inicial.
Muchísimas gracias de antemano.