Hola.
Yo no entiendo mucho, pero viendo tu código y yo que necesitaba hacer un menú desplegable con la base de datos pues con un poco de ayuda de todos salió.
Menú desplegable parara base de datos(mysql).
Menu.php
Código PHP:
<html>
<head>
<title>menu_desplegable_base_de_datos</title>
<script languaje="Javascript">
document.write('<style type="text/css">div.ocultable{display: none;}</style>');
function MostrarOcultar(div){
if (document.getElementById){
var aux = document.getElementById(div).style;
aux.display = aux.display? "":"block";
}
}
</script>
<style type="text/css">
<!--
.Estilo2 {font-size: 12px}
.Estilo3 {
color: #0033CC;
font-weight: bold;
}
-->
</style>
</head>
<body>
<table width="20%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td height="30" align="center" valign="middle" bgcolor="#CCCCCC"><span class="Estilo2">MENU
</span></td>
</tr>
<tr>
<td><?php
include("conexion.php");
$COD=$_REQUEST['cod'];
$CATEGORIA=$_REQUEST['categoria'];
$registros=mysql_query("select * from tabla_categorias order by cod ");
while($reg=mysql_fetch_array($registros)){
$COD=$reg['cod'];
$CATEGORIA=$reg['categoria'];
?>
<table width="100%" border="0" cellspacing="1" cellpadding="2">
<tr>
<td bgcolor="#f1f1f1">
<div id=""> <a href="javascript:MostrarOcultar('id<?php echo $COD;?>');" class="Estilo2 Estilo3" id=""><?php echo $reg['categoria']; ?></a>
</td>
</tr>
</table>
<div class="ocultable" id="id<?php echo $COD;?>">
<table width="100%" border="0" cellspacing="1" cellpadding="1" bgcolor="#f9f9f9">
<?php
$registros2=mysql_query("select subcategoria from tabla_subcategorias where categoria='$CATEGORIA' order by cod ");
while($reg2=mysql_fetch_array($registros2)){
$CATEGORIA=$reg['categoria'];
$SUBCATEGORIA=$reg2['subcategoria'];
?>
<tr>
<td>
<table width="100%" border="0" cellspacing="1" cellpadding="1">
<tr>
<td bgcolor="#D5E6FF"><?php echo $reg2['subcategoria']; ?></td>
</tr>
</table>
</td>
</tr>
<?php
}
?>
</table>
</div>
<?php
}
?></td>
</tr>
</table>
</body>
</html>
Lo que hice fué:
Cree dos tablas en la base de datos.
Tabla_categorías
con los campos: cod(autoincremento), categoria, fecha.
Tabla_subcategorias
con los campos: cod(autoincremento), categoria,subcategoria,fecha
Seguidamente pongo el código de la consulta sql para las dos tablas.
Se le agrega a las id de la dos capas (capa categoria, y capa subcategoria(oculta) la variable de autoincremento para que al hacer el listado de la base de datos tenga cada capa una id diferente.
La verdad es que me rompi la cabeza mirando mirando e intentando poner la variable en el código javascript pero como que estaba equivocado.
Aprovecho el momento para dar las gracias a los ususarios de foros del web que gracias a ir viendo vuestros códigos se aprenden y logran muchas cositas.
Como no, al profesor que me dio clase, que aparte de lo que ha hecho por mí, fue él quien me dijo que habia que poner en las id de los div la variable autoincremento en este caso el nombre es COD.(sin olvidar que primero se pone el nombre de la id y seguidamente la variable).
Quedando asi: id="menu<php $COD;?>"
Y a mi madre también que sin ella no estaría uno vivo, por hacer nacer y por hoy en día. ;)