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//Sea $items la variable donde tienes el resultado extraido y en forma de array de
//la base de datos mediante mysql_fetch_assoc por ejemplo:
foreach($items as $i){
if(!isset($cats[$i['seccion']]){ $cats[$i['seccion']] = array(); }
$cats[$i['seccion']][] = $i;
}
//Para mostrar:
echo '<ul>';
foreach($cats as $k=>$i){
if(count($cats) == 0) continue; echo '<li>'.$k.'<ul>';
foreach($i as $j){
echo '<li><a href="" title="">'.$j['titulo'].'</a></li>';
}
echo '</li>';
}
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.