Foros del Web » Programando para Internet » PHP »

problema con variable de sesión

Estas en el tema de problema con variable de sesión en el foro de PHP en Foros del Web. hola, tengo un carrito de compras el cual he modificado para que los precios me los cargue de una tabla externa donde se define un ...
  #1 (permalink)  
Antiguo 03/05/2005, 06:26
 
Fecha de Ingreso: febrero-2005
Mensajes: 39
Antigüedad: 19 años, 2 meses
Puntos: 0
problema con variable de sesión

hola,

tengo un carrito de compras el cual he modificado para que los precios me los cargue de una tabla externa donde se define un precio para cada nivel de usuario , el problema es al realizar la consulta para que me muestre los productos y el precio que le toca a cada usuario en cuestiòn en ese momento, habia "plantado" una variable de sesión que me debería de devolver todo el carrito con sus correspondientes precios, tal que así:

$result = mysql_query("SELECT productos.idproducto, productos.nombre, precios.precio, clientes.usuario, cart.cookieId, cart.qty
FROM (((((cart
INNER JOIN productos ON productos.idproducto=cart.idproducto)
INNER JOIN precios ON precios.isbn=productos.isbn)
INNER JOIN clientes ON clientes.nivel=precios.nivel)
INNER JOIN niveles ON niveles.nivel=clientes.nivel)
INNER JOIN niveles AS niveles1 on niveles1.nivel=precios.nivel)
WHERE cart.cookieId='" . GetCartId() . "' AND clientes.usuario='xxxxxxx'
order by productos.nombre asc
");

el problema reside en que si en el apartado clientes.usuario='xxxxx' pongo por ejemplo 'manolo' u otro usuario a pelo SI me funciona, pero NO en caso de que quiera recogerlo de la variable., no tengo mucha idea de la sintaxis por eso creo que mi fallo reside ahi, ya que si hago una llamada para que me devuelva la variable de sesión me la muestra, pero no si está dentro de la consulta, como deberia llamar a la sesión en ese punto en concreto? , para hacerlo desde "afuera" lo hago asi:
<?php echo $HTTP_SESSION_VARS['usuario']; ?>


gracias por adelantado
  #2 (permalink)  
Antiguo 03/05/2005, 06:33
 
Fecha de Ingreso: noviembre-2004
Mensajes: 19
Antigüedad: 19 años, 5 meses
Puntos: 0
A ver si entendí y te puedo ser de ayuda

Cuando llamás a mysql_query() tenés que pasarle una cadena (string). Por lo general para trabajarmás prolijamente las querys se separa el llamado por un lado y una variable con la cadena que le vas a pasar por parametro por el otro.
yo lo voy a hacer de esta manera:

$query = "SELECT productos.idproducto, productos.nombre, precios.precio, clientes.usuario, cart.cookieId, cart.qty
FROM (((((cart
INNER JOIN productos ON productos.idproducto=cart.idproducto)
INNER JOIN precios ON precios.isbn=productos.isbn)
INNER JOIN clientes ON clientes.nivel=precios.nivel)
INNER JOIN niveles ON niveles.nivel=clientes.nivel)
INNER JOIN niveles AS niveles1 on niveles1.nivel=precios.nivel)
WHERE cart.cookieId='" . GetCartId() . "' AND clientes.usuario='".$_SESSION['usuario']."'
order by productos.nombre asc
";

$result = mysql_query($query);

Fijate que lo que hice fue usar el concatenador (el punto) para pegarle a la cadena el contenido de la variable de sesión. En este caso usé $_SESSION en vez de $HTTP_SESSION_VARS pero es lo mismo.

Espero qeu te sirva
__________________
I'm gonna Beta-test your girlfriend
  #3 (permalink)  
Antiguo 03/05/2005, 12:53
 
Fecha de Ingreso: febrero-2005
Mensajes: 39
Antigüedad: 19 años, 2 meses
Puntos: 0
gracias tio, eso era justo lo que me fallaba, saludos
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 08:28.