Ver Mensaje Individual
  #2 (permalink)  
Antiguo 22/03/2010, 06:14
Avatar de AnesGy
AnesGy
 
Fecha de Ingreso: mayo-2009
Mensajes: 518
Antigüedad: 15 años
Puntos: 19
Respuesta: duda con menu obtenido desde base de datos

Yo tengo un método que funciona muy bien, pero te voy a explicar el método que te resutlará más fácil.

Código PHP:
Ver original
  1. //Sea $items la variable donde tienes el resultado extraido y en forma de array de
  2. //la base de datos mediante mysql_fetch_assoc por ejemplo:
  3. $cats = array();
  4. foreach($items as $i){
  5.     if(!isset($cats[$i['seccion']]){
  6.            $cats[$i['seccion']] = array();
  7.     }
  8.     $cats[$i['seccion']][] = $i;
  9. }
  10.  
  11. //Para mostrar:
  12. echo '<ul>';
  13. foreach($cats as $k=>$i){
  14.     if(count($cats) == 0) continue;
  15.     echo '<li>'.$k.'<ul>';
  16.     foreach($i as $j){
  17.         echo '<li><a href="" title="">'.$j['titulo'].'</a></li>';
  18.     }
  19.     echo '</li>';
  20. }
  21. echo '</ul>';

Si lees un poco verás que puse un link con href="" y title="". Allí es donde tienes que rellenar tú, no vi los campos de descripción o dirección en la tabla.


Originalmente usaba este sistema, hasta que consideré usar sistemas de varios niveles, para lo que necesitaba posibilidad de subordniación. Eso se hace añadiendo un elemento a la base de datos llamado id (que es índice primario y autoincrementado) y un elemento llamado subordinado_a (que indica el id del elemento al que está subordinado). Cómo el AutoIncrement nunca empieza en 0, el subordinado_a=0 indica que está en la raíz. Por último indicar que para hacer esto tienes que crear las secciones en la base de datos con subordinado_a = 0, pero creo que no sirve tan facil para lo que quieres.
__________________
Si alguna vez parece que soy grosero, pido perdón, es un intento fallido de ser directo.

AnesGy SD. Name it, Get it