-----------------------------------------
| SECCION 1 | SECCION 2 | SECCION 3 | SECCION X |
-----------------------------------------
| contenido1a |
- - - - - - - -
| contenido1b |
- - - - - - - -
| contenido1x |
- - - - - - - -
bueno, supongo que se entiende como es el menu, como todos esos menus desplegables que hay en muchas paginas
el codigo es asi:
Código HTML:
<ul> <li>seccion 1 <ul> <li>contenido 1a</li> <li>contenido 1b</li> </ul> </li> <li>seccion 2 <ul> <li>contenido 2a</li> <li>contenido 2b</li> </ul> </li> <li>seccion 3</li> </ul>
tabla contenido
id - titulo - seccion - contenido
-------------------------------------------
1 - contenido1 a - seccion 1 - el texto bla bla....
2 - contenido2 a - seccion 2 - el texto de esta seccion....
....
por lo tanto cada ves que quiero agregar contenido a una de las secciones, voy al formulario que tengo para tal efecto, le doy un titulo (dicho titulo es el que aparecera en los elementos del menu en esa seccion), selecciono a que seccion pertenece y agrego el contenido... hasta ahi todo bien.
Ahora el problema se me presenta cuando quiero construir el menu horizontal sacando los titulos de la base de datos ya que no se como podría agruparlos en cada sección.
una solucion es hacer tantas consultas como secciones tenga, por ejemplo:
- abro el <UL> y el <LI> para la primera seccion...
- consulta mysql 1: traigo todo los registros en donde seccion sea igual a "seccion 1", y creo una nueva lista con cada "subseccion" por asi llamarlo que van dentro de SECCION 1.
- consulta 2: repito el mismo paso anterior pero esta vez para SECCION 2 y asi sucesivamente hasta completar el menu.
creo que no es la forma mas optima de realizar lo que necesito, estoy seguro que debe haber una forma mejor pero en este momento no se me ocurre.
tal ves podría hacer una sola consulta agrupando los registros por seccion y guardandolos en arrays (un array para cada seccion) y luego creo las listas recorriendo los arrays y me evito hacer tantas consultas a la base de datos.
Si alguien me puede dar una ayuda para aclararme como deberia hacerlo estaria agradecido.
espero no haberme extendido mucho en mi post y ojalá haya sido claro en explicar mi duda.
Saludos