Foros del Web » Programando para Internet » Javascript »

Pasar una variable a 2 páginas y que ejecuten sus consultas

Estas en el tema de Pasar una variable a 2 páginas y que ejecuten sus consultas en el foro de Javascript en Foros del Web. Hola gente! ¿Se puede enviar una variable y que la recepcionen 2 páginas para que ejecunten alguna consulta al mismo tiempo? Esto es porque trabajo ...
  #1 (permalink)  
Antiguo 25/01/2008, 14:44
 
Fecha de Ingreso: mayo-2002
Ubicación: Capital Federal
Mensajes: 630
Antigüedad: 22 años
Puntos: 1
Pasar una variable a 2 páginas y que ejecuten sus consultas

Hola gente! ¿Se puede enviar una variable y que la recepcionen 2 páginas para que ejecunten alguna consulta al mismo tiempo? Esto es porque trabajo con 2 iframes en la parte inferior del menú que envía esa variable y hasta ahora logré que la recepcione y ejecute la consulta el iframe izquierdo, pero el derecho no hace nada porque no le llega nada.
Esto es así... el link que envia la variable la recibe el iframe de la izquierda, el cual lista todos los productos de esa variable. El iframe de la derecha DEBERIA mostrar el PRIMER producto de esa lista pero no sé cómo hacer para que la variable le llegue a ese iframe.

Un colega posteó esto en otro lado que pregunté... se los transcribo:

USERMAX escribió:

Con Javascript lo puedes hacer.
Selecciona la variable y actualizas el SRC de los IFRAMEs con la variable en la URL.

A lo mejor si me podrían dar un ejemplo lo podría aplicar. Sino, no tengo problemas de escuchar sus opiniones.

Muchas gracias.

Marx.
__________________
"Todo lo que somos es el resultado de lo que hemos pensado". Budda.
  #2 (permalink)  
Antiguo 28/01/2008, 03:53
 
Fecha de Ingreso: diciembre-2007
Ubicación: Barcelona
Mensajes: 289
Antigüedad: 16 años, 4 meses
Puntos: 8
Re: Pasar una variable a 2 páginas y que ejecuten sus consultas

Hola,
A ver, yo no se casi nada de JS, pero lo que yo te recomendaría es que si ya has conseguido pasar esa variable de la forma que sea a uno de los frames, desde ese frame vuelves a pasar la variable al otro frame cuando se carge el primero.

Ya te digo que no tengo practicamente ni ideade JS y ni mucho menos como has pasado la variable al primer frame pero yo haría algo así. Ya que estamos podrias poner el código que has usado para pasar la variable, porque quizás yo no te podré ayudar, pero alguno de los cracks si.

Saludos.
  #3 (permalink)  
Antiguo 28/01/2008, 05:28
 
Fecha de Ingreso: mayo-2002
Ubicación: Capital Federal
Mensajes: 630
Antigüedad: 22 años
Puntos: 1
Re: Pasar una variable a 2 páginas y que ejecuten sus consultas

Muchas gracias por responder y aquí te paso el codigo para que veas como lo estoy haciendo.

Las tablas relacionadas son:
Tipo de Producto: LIVING, DORMITORIOS, JUVENILES, ETC.
Productos: todos los tipos de productos con sus sub-productos

La página se llama productos.php. En la parte superior tengo los links:

LIVING: productos.php?dir=fotos&tprod=1
DORMITORIO: productos.php?dir=fotos&tprod=2
JUVENILES: productos.php?dir=fotos&tprod=3
...

La parte inferior-media está dividida visualmente en 2 partes por 2 iframes:


IFRAME IZQUIERDO (iframe name="listado_prod") : 01_prod_iframe.php
Código PHP:
include ("conectar.php");

$directorio = $_GET['dir'];
$tprod = $_GET['tprod'];

// conexion a la base
$conexion = mysql_connect($host_db, $usuario_db, $pass_db) or die ("no se ha podido conectar a la BD");
mysql_select_db($base_db, $conexion) or die ("no se ha podido seleccionar la BD");

// Ejecuto la consulta
$sql = "SELECT * FROM productos, tipoproductos WHERE productos.id_tipo_producto = tipoproductos.id_tipo_producto AND productos.id_tipo_producto = $tprod ORDER BY productos.id_producto";
$consulta = mysql_query($sql);

        // Muestro los registros
        if ($consulta)
        {
            while($fila=mysql_fetch_array($consulta))
            {
...

        <td><a href="01_prod.php?ttprod=<?php echo $fila['id_producto']; ?>" target="prod"><img src="resize.php?img=<?php echo $directorio."/"; echo $fila['foto_producto']; ?>" border="0" ></a></td>
<a href="01_prod.php?ttprod=<?php echo $fila['id_producto']; ?>" target="prod"><? echo $fila['nom_tipo_producto']. ' ' $fila['modelo_producto']; ?></a></td>

Muestro los productos...

libero y cierro la conex.
IFRAME DERECHO (iframe name="prod"): 01_prod.php

Código PHP:
 include ("conectar.php");

$ttprod $_GET['ttprod'];
$directorio "fotos";

// conexion a la base
$conexion mysql_connect($host_db$usuario_db$pass_db) or die ("no se ha podido conectar a la BD");
mysql_select_db($base_db$conexion) or die ("no se ha podido seleccionar la BD");

// Ejecuto la consulta
$sql "SELECT * FROM productos, tipoproductos WHERE productos.id_tipo_producto = tipoproductos.id_tipo_producto AND productos.id_producto = $ttprod ORDER BY productos.id_producto";
$consulta mysql_query($sql$conexion);

while (
$row mysql_fetch_array($consulta))

Presionando sobre los productos del listadose muestran en este iframe
La lista de productos YA ME APARECE en el iframe IZQ... pero no logro que en el iframe derecho me aparezca el primer producto de esa categoría, que es el que muestra su descripcion.

Espero no sea muy complicado. Desde ya muchas gracias.

MArx.
__________________
"Todo lo que somos es el resultado de lo que hemos pensado". Budda.
  #4 (permalink)  
Antiguo 29/01/2008, 03:36
 
Fecha de Ingreso: diciembre-2007
Ubicación: Barcelona
Mensajes: 289
Antigüedad: 16 años, 4 meses
Puntos: 8
Re: Pasar una variable a 2 páginas y que ejecuten sus consultas

Hola,

Bueno, lo que pides me parece algo complicado por que como ya te dije el JS es algo en lo que acabo de empezar.

Así como soluciónes cutres se me ocurren un par:

Puedes pasar la/s variable/s que quieras al PHP usando el JS y luego recuperarla/s posteriormente. Un ejemplo tonto que he sacado de aquí:

Código PHP:
<? 

echo "<html><head> 

<script language=Javascript> 

var vjava='valor de vjava'; 

</script> 

</head> 

<body>"


if (empty(
$varphp)) 



echo 
"<form action=$PHP_SELF method=POST name=formulario>"

echo 
"<input type=hidden name=varphp>"

echo 
"</form>"

echo 
"<script language=Javascript>document.formulario.varphp.value=vjava;"

echo 
"document.formulario.submit() "

echo 
"</script>"



else 

echo 
"--- varphp=$varphp ----"

echo 
"</body></html>"

?>
Lo que hacen ahí es pasar las variables del JS usando el PHP con un formulario que está "hidden" (que no se ve). Y luego en el otro iframe recuperas las variables con un POST normal y corriente. El inconveniente que tiene esto es que verás como se refresca la página cada vez que pases las variables al otro iframe. esto es por el PHP.

La otra solución que se me ocurre que es un poco más "guay" pero tampoco domino mucho del tema. Lo que te propongo es AJAX, que podrás hacer lo mismo pero sin que refresque la pantalla. en resumen lo que hace el AJAX es hacer que el JS se comunique directamente con el servidor en lugar de pasar por el PHP.
Como link de referencia te recomiendo que mires este.

También me gustaría saber si es imprescindible poner dos iframes por que te está danto mucha faena. Piensa que con el JS se pueden hacer virguerias y quizás encuentras algún script ya hecho que modificando un poco el código puedas obtener el efecto deseado.

Saludos!

PD: Insisto en que no soy experto en JS y solo intento darte una segunda opinión a cerca de tu problema de como lo solucionaría yo.
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 23:28.