Foros del Web » Programando para Internet » Javascript »

Mostrar / Ocultar layer y PHP

Estas en el tema de Mostrar / Ocultar layer y PHP en el foro de Javascript en Foros del Web. Estimados: Tengo un script en JS que me muestra u oculta una capa. En esta capa hay información de un registro que reside en una ...
  #1 (permalink)  
Antiguo 07/04/2009, 07:02
 
Fecha de Ingreso: marzo-2004
Ubicación: Carhué
Mensajes: 14
Antigüedad: 20 años, 1 mes
Puntos: 0
Mostrar / Ocultar layer y PHP

Estimados: Tengo un script en JS que me muestra u oculta una capa. En esta capa hay información de un registro que reside en una base de datos, el cual traigo con PHP. La cuestión es que el script me muestra u oculta siempre la misma capa, ya que -por lo poco que entiendo-, está referenciando siempre a la misma capa. Lo que estaría necesitando es una ayuda para que cuando al hacer click en la capa a mostrar, me muestre la correcta. Espero haberme explicado. Les paso el script de JS para que lo vean. Desde ya les agradezco la ayuda.

--------------ESTO LO TENGO AL PRINCIPIO DEL BODY-----------------
<script languaje="Javascript">
<!--
document.write('<style type="text/css">div.ocultable{display: none;}</style>');
function MostrarOcultar(capa,enlace)
{
if (document.getElementById)
{
var aux = document.getElementById(capa).style;
aux.display = aux.display? "":"block";
}
}

//-->
</script>


--------------ESTO LO TENGO EN EL LINK----------------
<div id="oculto">
<a href="javascript:MostrarOcultar('texto1');" id="enlace1"> Más detalles</a>
<div class="ocultable" id="texto1">
<div id="volanta">Motivo: <strong><?php echo $row['motivo']?></strong></div>
<div id="volanta">Destino: <strong><?php echo $row['destino']?></strong></div></div></div>
  #2 (permalink)  
Antiguo 18/04/2009, 15:50
 
Fecha de Ingreso: marzo-2009
Mensajes: 11
Antigüedad: 15 años, 1 mes
Puntos: 1
Respuesta: Mostrar / Ocultar layer y PHP

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. ;)
  #3 (permalink)  
Antiguo 19/08/2009, 10:23
 
Fecha de Ingreso: junio-2008
Mensajes: 101
Antigüedad: 15 años, 10 meses
Puntos: 0
Respuesta: Mostrar / Ocultar layer y PHP

Mi buen Santiago_ra:

Mira mi buen, siguiendo tu ejemplo que nos has hecho el favor de postearlo...

Yo lo que necesito es seguir una secuencia como de 5 layer y después de eso mostrar datos numéricos de algunas tablas.... Pero primero se contruye la casa con los cimientos y paredes que es por donde empezaré...

Tengo este código que es muy parecido al tuyo pero le agregué parte de mi cosecha para adaptarlo a mis necesidades pero no me jala del todo bien... = y tú me puedas asesorar...

La fachada donde estará el MENU (mostrar/ocultar) Layer.... y se llama "prueba06.php" y su contenido es el siguiente:


<html>
<head>
<title>Prueba06</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; /*AZUL FUERTE*/
font-weight: bold;
}
.Estilo2-sub {font-size: 12px}
.Estilo3-sub {
color: #00330a; /*AZUL FUERTE*/
font-weight: bold;
}
-->
</style>
<script src="control-tipo-select.js" language="JavaScript"></script>
</head>

<body>
<h3><center>menu_desplegable_base_de_datos</center></h3>
<table width="20%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td height="30" align="center" valign="middle" bgcolor="#CCCCCC"><!-- GRIS --> <span class="Estilo2">MENU</span></td>
</tr>
<tr>
<td><?php
include("conexion.php");
$COD=$_REQUEST['cod_cat'];
$CATEGORIA=$_REQUEST['categoria'];
$registros=mysql_query("select * from categoria ORDER BY cod_cat");
while($reg=mysql_fetch_array($registros)){
$COD=$reg['cod_cat'];
$CATEGORIA=$reg['categoria'];
?>
<table width="100%" border="0" cellspacing="1" cellpadding="2">
<tr>
<td bgcolor="#f1f1f1"><!-- ROSA gris -->
<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"><!-- ROSA -->
<?php
include("conexion.php");
$COD=$_REQUEST['cod_sub_cat'];
//$CATEGORIA=$_REQUEST['categoria'];
$registros2=mysql_query("select subcategoria from subcategoria where categoria='$CATEGORIA' order by cod_sub_cat ");
while($reg2=mysql_fetch_array($registros2)){
$COD=$reg['cod_sub_cat'];
$CATEGORIA=$reg['categoria'];
$SUBCATEGORIA=$reg2['subcategoria'];
?>
<tr>
<td>
<table width="100%" border="0" cellspacing="1" cellpadding="1">
<tr>
<td bgcolor="#D5E6FF"><!-- AZUL claro -->
<div id=""><a href="javascript:MostrarOcultar('id<?php echo $COD;?>');" class="Estilo2 Estilo3" id=""><?php echo $reg2['subcategoria']; ?></a>
</td>
</tr>
</table>
</td>
</tr>
<?php
}
?>
</table>
</div>

<div class="ocultable" id="id<?php echo $COD;?>">
<table width="100%" border="0" cellspacing="1" cellpadding="1" bgcolor="#f9f9f0"><!-- ROSA gris -->
<?php
include("conexion.php");
$COD=$_REQUEST['cod_sub_cat_1'];
$registros3=mysql_query("select subcategoria_1 from subcategoria_1 where subcategoria='$SUBCATEGORIA' order by cod_sub_cat_1");
while($reg3=mysql_fetch_array($registros3)){
$COD=$reg['cod_sub_cat_1'];
$SUBCATEGORIA=$reg2['subcategoria'];
$SUBCATEGORIA_1=$reg3['subcategoria_1'];
?>
<tr>
<td>
<table width="100%" border="0" cellspacing="1" cellpadding="1">
<tr>
<td bgcolor="#E6E6FA"> <!-- PÚRPURA claro -->
<div id=""><a href="javascript:MostrarOcultar('id<?php echo $COD;?>');" class="Estilo2-sub Estilo3-sub" id=""><?php echo $reg3['subcategoria_1']; ?></a>
</td>
</tr>
</table>
</td>
</tr>
<?php
}
?>
</table>
</div>

<?php
}
?></td>
</tr>
</table>

</body>
</html>


El archivo "conexion.php" el común de todos....

<?php
$dbhost="localhost"; // host del MySQL (generalmente localhost)
$dbusuario="root"; // aqui debes ingresar el nombre de usuario
// para acceder a la base
$dbpassword=""; // password de acceso para el usuario de la
// linea anterior
$db="test"; // Seleccionamos la base con la cual trabajar
$conexion = mysql_connect($dbhost, $dbusuario, $dbpassword);
mysql_select_db($db, $conexion);
?>

En mi caso que tengo XAMPP instalado entro a mysql/bin

C:\Archivos de programa\xampp\mysql\bin>mysql -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 188
Server version: 5.1.33-community MySQL Community Server (GPL)

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

show databases;
+---------------------------+
| Database |
+---------------------------+
| information_schema |
| test |
+---------------------------+

use test;
Database changed

Aquí ya procedo a crear mis tablas:

create table categoria (
cod_cat int(2) NOT NULL auto_increment,
categoria varchar(40) default NULL,
primary key (cod)
);

create table subcategoria (
cod_sub_cat int(2) NOT NULL auto_increment,
categoria varchar(40) default NULL,
subcategoria varchar(40) default NULL,
primary key (cod)
);

create table subcategoria_1 (
ccod_sub_cat_1 int(2) NOT NULL auto_increment,
subcategoria varchar(40) default NULL,
subcategoria_1 varchar(40) default NULL,
primary key (cod)
);

Comprobar

show tables;
+------------------------+
| Tables_in_test |
+------------------------+
| categoria |
| subcategoria |
| subcategoria_1 |
+------------------------+



Insertar datos en mis tablas

insert into categoria (categoria,) values ('categoria-1'),('categoria-2'),('categoria-3'),('categoria-4');

insert into subcategoria (categoria,subcategoria) values ('categoria-1','subcategoria-1');
insert into subcategoria (categoria,subcategoria) values ('categoria-2','subcategoria-2.1'),('categoria-2','subcategoria-2.2'),('categoria-2','subcategoria-2.3');
insert into subcategoria (categoria,subcategoria) values ('categoria-3','subcategoria-3.1'),('categoria-3','subcategoria-3.2'),('categoria-3','subcategoria-3.3'),('categoria-3','subcategoria-3.4'),('categoria-3','subcategoria-3.5');
insert into subcategoria (categoria,subcategoria) values ('categoria-4','subcategoria-4.1'),('categoria-4','subcategoria-4.2'),('categoria-4','subcategoria-4.3');

insert into subcategoria_1 (subcategoria,subcategoria_1) values ('subcategoria-1','CP jera'),('subcategoria-1','ritos'),('subcategoria-1','caque'),('subcategoria-1','colín'),('subcategoria-1','dencia'),('subcategoria-1','ula'),('subcategoria-1','relos');
insert into subcategoria_1 (subcategoria,subcategoria_1) values ('subcategoria-2.1','cion');
insert into subcategoria_1 (subcategoria,subcategoria_1) values ('subcategoria-2.2','Rep.Norte'),('subcategoria-2.2','Rep.Golfo'),('subcategoria-2.2','Rep.Paci'),('subcategoria-2.2','Rep.Cen');
insert into subcategoria_1 (subcategoria,subcategoria_1) values ('subcategoria-2.3','Ref-yta'),('subcategoria-2.3','Ref-ero'),('subcategoria-2.3','Ref-tlan'),('subcategoria-2.3','Ref-nca'),('subcategoria-2.3','Ref-inaCruz'),('subcategoria-2.3','Ref-ula');
insert into subcategoria_1 (subcategoria,subcategoria_1) values ('subcategoria-3.1','Hidro.SUR'),('subcategoria-3.1','Hidro.SUROESTE'),('subcategoria-3.1','Hidro.NOSOESTE');
insert into subcategoria_1 (subcategoria,subcategoria_1) values ('subcategoria-3.2','arell'),('subcategoria-3.2','MAZA');
insert into subcategoria_1 (subcategoria,subcategoria_1) values ('subcategoria-3.3','PolChuc');
insert into subcategoria_1 (subcategoria,subcategoria_1) values ('subcategoria-3.4','urgos');
insert into subcategoria_1 (subcategoria,subcategoria_1) values ('subcategoria-3.5','Luna');
insert into subcategoria_1 (subcategoria,subcategoria_1) values ('subcategoria-4.1','Sosa'),('subcategoria-4.1','Srrey'),('subcategoria-4.1','Sreón'),('subcategoria-4.1','Sahua'),('subcategoria-4.1','Scala'),('subcategoria-4.1','Smanca'),('subcategoria-4.1','Sjara'),('subcategoria-4.1','Srpio'),('subcategoria-4.1','Uterrey'),('subcategoria-4.1','Urpio'),('subcategoria-4.1','Sdoza'),('subcategoria-4.1','Sruz'),('subcategoria-4.1','Stlán'),('subcategoria-4.1','Senas'),('subcategoria-4.1','Sdero','2009-08,('subcategoria-4.1','Sex'),('subcategoria-4.1','Snando'),('subcategoria-4.1','Smico');
insert into subcategoria_1 (subcategoria,subcategoria_1) values ('subcategoria-4.2','960'),('subcategoria-4.2','961'),('subcategoria-4.2','964'),('subcategoria-4.2','965'),('subcategoria-4.2','970'),('subcategoria-4.2','971'),('subcategoria-4.2','975'),('subcategoria-4.2','977'),('subcategoria-4.2','980'),('subcategoria-4.2','981'),('subcategoria-4.2','982');
insert into subcategoria_1 (subcategoria,subcategoria_1) values ('subcategoria-4.3','Cex'),('subcategoria-4.3','Cmex'),('subcategoria-4.3','Ctus'),('subcategoria-4.3','Centa'),('subcategoria-4.3','Conche'),('subcategoria-4.3','Cca'),('subcategoria-4.3','Clcos'),('subcategoria-4.3','Curgos'),('subcategoria-4.3','Cque');

LO QUE NO ME ESTÁ JALANDO ES EL SEGUNDO LINK (ARBOL) YA QUE NO ME FUNCIONAN PARA TODOS.... Intuyo que mi problema está en la tabla subcategoria_1 ya que solo me le el primer grupo y todos los demás grupos me muestran/ocultan el PRIMER GRUPO....
Cómo puedo solucionar mi problemita....?????

Saludos y espero también les pueda servir de algo este código.....
  #4 (permalink)  
Antiguo 20/08/2009, 15:57
Avatar de lukas4  
Fecha de Ingreso: octubre-2008
Ubicación: frente al pc
Mensajes: 496
Antigüedad: 15 años, 6 meses
Puntos: 12
Respuesta: Mostrar / Ocultar layer y PHP

Cita:
Iniciado por dalinger Ver Mensaje
function MostrarOcultar(capa,enlace)
{
if (document.getElementById)
{
var aux = document.getElementById(capa).style;
aux.display = aux.display? "":"block";
}
}
te falta terminar la condicion del if, talvez eso sea el problema
  #5 (permalink)  
Antiguo 21/08/2009, 08:37
 
Fecha de Ingreso: junio-2008
Mensajes: 101
Antigüedad: 15 años, 10 meses
Puntos: 0
Respuesta: Mostrar / Ocultar layer y PHP

Híjole mi hermano Lukas....

Antes que nada te agradezco mucho que ta hayas tomado la molestia de responderme....
En cuanto a tu sugerencia ya lo chequé y precisamente está bien definida la condición if....

La forma en que redacté mi problema te explica paso a paso como crear un drop list con PHP y MySQL en forma explícita... Por lo que para checar este problema solo tienes que copiar y pegar y después ejecutar.... Te pido de favor lo ejecutes para que veas cuál es el problema... Ya que desde la construcción y alimentación de la Base de Datos solo copias y pegas.

Espero me puedas seguir ayudando....

Saludos y mil gracias por tu atención y respuesta....Chao, chao...
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 23:42.