Foros del Web » Programando para Internet » PHP »

menu acoderon con bd

Estas en el tema de menu acoderon con bd en el foro de PHP en Foros del Web. hola amigos.. tengo la siguiente tabla que se llama Categorias (cat): id--nombre 1 libros 2 perros 3 gatos y otra tabla que se llama Subcategoria ...
  #1 (permalink)  
Antiguo 19/09/2011, 16:45
 
Fecha de Ingreso: febrero-2010
Ubicación: cba
Mensajes: 203
Antigüedad: 14 años, 2 meses
Puntos: 16
menu acoderon con bd

hola amigos.. tengo la siguiente tabla que se llama Categorias (cat):

id--nombre
1 libros
2 perros
3 gatos

y otra tabla que se llama Subcategoria (subcat):

relacion - nombre
1 shakespere
1 olguin
2 golden
2 dogo
2 caniche
3 normal

Quiero llenar un menu acordeon vertical de esta forma:

Código HTML:
<ul id="accordion">
    <li><div>libros</div>
        <ul>
            <li><a href="#">shakespere</a></li>
            <li><a href="#">olguin</a></li>
           
        </ul>
    </li>
    <li><div>perros</div>
        <ul>
            <li><a href="#">golden</a></li>
            <li><a href="#">dogo</a></li>
             <li><a href="#">caniche</a></li>
            
        </ul>
    </li>
    <li><div>gatos</div>
        <ul>
            <li><a href="#">normal</a></li>
            
        </ul>
    </li>
</ul> 
La consulta q hago es la siguiente:

Código PHP:
mysql_query("SELECT c.nom as nom, s.nom as sub FROM cat c INNER JOIN subcat s WHERE c.id=s.id "
como podria hacerlo sin que se repinta la categoria, ya q con esa consulta se repite la categoria..

muchas gracias
  #2 (permalink)  
Antiguo 19/09/2011, 17:39
 
Fecha de Ingreso: febrero-2010
Ubicación: cba
Mensajes: 203
Antigüedad: 14 años, 2 meses
Puntos: 16
Respuesta: menu acoderon con bd

ya esta solucionado de esta forma:

<?

$toro = mysql_query("SELECT c.nom as nom, s.nom as sub FROM cat c INNER JOIN subcat s WHERE c.id=s.id ");

echo '<ul id="accordion">';
$lastnombre = '';
while ($row=mysql_fetch_array($toro))
{
$nombre = $row['nom'];



if ($nombre != $lastnombre)
{echo '<li><div>'; // comienzo de li

echo $nombre;
$lastnombre = $nombre;
echo '</div>';
echo '<ul>';
echo '<li><a href="#">';
echo $row[sub];
echo '</a></li>';


echo '</li>'; // fin de li
}

else
{

echo '<li><a href="#">';
echo $row[sub];
echo '</a></li>';
echo '</li>';
echo '</ul>';

}




}





echo '</ul>';
?>

Etiquetas: bd, mysql, tabla
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 20:52.