Foros del Web » Programando para Internet » PHP »

Error paso de variables

Estas en el tema de Error paso de variables en el foro de PHP en Foros del Web. Buenos días. Tengo un gran problema en una página que estoy haciendo. Resulta que tengo una plantilla, la cual tiene el index y el resto ...
  #1 (permalink)  
Antiguo 06/07/2012, 05:44
 
Fecha de Ingreso: septiembre-2010
Mensajes: 94
Antigüedad: 13 años, 7 meses
Puntos: 0
Error paso de variables

Buenos días.
Tengo un gran problema en una página que estoy haciendo.

Resulta que tengo una plantilla, la cual tiene el index y el resto de páginas están en una carpeta pero que cuando las llama el index las carga en un <div> que tiene.
Es parecido a las frames pero sin frames.

El caso es que cuando llamo a una de las páginas que contiene los detalles de uno de los artículos le tengo que pasar el id para buscarlo en la bbdd.

Hasta ahora se pasaba por url "pagina.php?variable=cual".
Pues esto no me funciona y la variable $_session tampoco por que un bucle recorre la bbdd para mostrar la lista y va machacando la variable hasta que se queda guardado el último registro.
os pongo parte del código donde enlaza el articulo para mostrar detalle.

Código:
<li class="slide" opts="target:.carousel-caption;top:50px;opacity:1">
			<div class="hover" opts="target:img;opacity:0.3">
				<img class="image-loader" opts="wrap:black-back;" src="_include/imagenes/<?php echo $reg["imagen_carru"]; ?>" alt="Photo 1" />
				<div class="carousel-caption">
					<div class="options">
						<a class="fancybox" href="_include/imagenes/<?php echo $reg["imagen_carru"]; ?>"></a>
						<a class="page-loader" href="#" opts="page:work;src:pages/work.php"></a>
                        <?php
	                       $_SESSION["quien"]=$reg["id_producto"];
                        ?>
					</div>
					<div class="pad-inner">
						<h3><?php echo $reg["modelo"]?></h3>
						in <a href="#1" class="ondark"><?php echo $reg["marca"]; ?></a>
					</div>
				</div>
			</div>
		</li>
El problema está en opts.
Si lo pongo en el href del anlca ni si quiera se va a la página y si lo pongo en el opts me muestra error.

Necesito ayuda urgentemente porque me estoy volviendo loco de buscar opciones y ya me he quedado sin ideas.

Un saludo y muchas gracias.
  #2 (permalink)  
Antiguo 06/07/2012, 07:05
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 8 meses
Puntos: 1532
Respuesta: Error paso de variables

consulte la documentación sobre session, en el caso de sesiones no automáticas (recomendable) se debe realizar una llamada a session_start() al principio del script
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #3 (permalink)  
Antiguo 06/07/2012, 07:31
 
Fecha de Ingreso: septiembre-2010
Mensajes: 94
Antigüedad: 13 años, 7 meses
Puntos: 0
Respuesta: Error paso de variables

si llamo al session start(), pero ese no es el problema.
Lo que pasa es que si uso un bucle para mostrar los últimos artículos para una zona de (valga la redundancia)últimos artículos no le puedo poner $session por que si hay cinco elementos me va a poner el id del último que muestra el bucle.
  #4 (permalink)  
Antiguo 06/07/2012, 08:02
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 8 meses
Puntos: 1532
Respuesta: Error paso de variables

¿y donde está el ciclo?, porque lo que veo es ésto:

Código PHP:
Ver original
  1. $_SESSION["quien"]=$reg["id_producto"];
?>

si éso está dentro de un ciclo, lo ideal es usar:

$_SESSION["quien"][]=$reg["id_producto"];

para registrar un array, de lo contrarío siempre será el último
  #5 (permalink)  
Antiguo 06/07/2012, 10:23
 
Fecha de Ingreso: septiembre-2010
Mensajes: 94
Antigüedad: 13 años, 7 meses
Puntos: 0
Respuesta: Error paso de variables

Perdona, pero no estoy ya en la oficina.
Te explico un poco.
Yo hago un select de la bbdd y pongamos que me devuelve 6 registros. Éstos los muestro con un while
Código:
$sql="SELECT * FROM productos";
    $res=mysql_query($sql,$con);
    while($reg=mysql_fetch_array($res))
{
  "aqui muestro los datos y un ancla para que cuando le pulses te vaya a otra página donde se muestran todas las caracteristicas del producto X
}
Si funciona con $_session pero obviamente se guarda el último id siempre.
Lo que no sé es cómo hacerlo con un array para que me muestre el que yo quiero.

La verdad es que no sé si me estoy explicando muy bien.
  #6 (permalink)  
Antiguo 06/07/2012, 12:44
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 8 meses
Puntos: 1532
Respuesta: Error paso de variables

le acabo de indicar como se usa con array, favor un poco más de atención a las respuestas
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #7 (permalink)  
Antiguo 07/07/2012, 01:40
 
Fecha de Ingreso: septiembre-2010
Mensajes: 94
Antigüedad: 13 años, 7 meses
Puntos: 0
Respuesta: Error paso de variables

[QUOTE=maycolalvarez;4226844]le acabo de indicar como se usa con array, favor un poco más de atención a las respuestas [/QUOT

Si sé cómo se usa un array pero ahora mismo estoy bloqueado porque no sé como mostrar en otra página el producto que se tiene que mostrar.
  #8 (permalink)  
Antiguo 07/07/2012, 02:01
 
Fecha de Ingreso: septiembre-2010
Mensajes: 94
Antigüedad: 13 años, 7 meses
Puntos: 0
Respuesta: Error paso de variables

Pero cómo bien le indico en las anteriores respuestas, ése no es el problema(EL crear un array).
  #9 (permalink)  
Antiguo 13/07/2012, 08:22
 
Fecha de Ingreso: septiembre-2010
Mensajes: 94
Antigüedad: 13 años, 7 meses
Puntos: 0
Respuesta: Error paso de variables solucionado

Solucionado el problema.
Al final he tenido que poner un onclik y llamar a una función externa para que me mande el id del articulo a la página de detalle.

Etiquetas: paso, registro, variables
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 18:32.